コード例 #1
0
VARIANT_BOOL CDocViewCoreCtrl::OpenDocFile(LPCTSTR strDocFile)
{
	AFX_MANAGE_STATE(AfxGetStaticModuleState());
	// TODO: 在此添加调度处理程序代码
	//BOOL
	CRect rc;
	m_PreviewDlg.GetClientRect(&rc);
	rc.DeflateRect(1,1,1,1);
	BOOL bOK = m_PreviewDlg.PreviewDocWithHandle(strDocFile,m_PreviewDlg.GetSafeHwnd(),rc);
	if (bOK)
	{
		m_ViewDlg.ShowWindow(SW_HIDE);
		m_PreviewDlg.ShowWindow(SW_SHOW);
		Invalidate(TRUE);
		DocDesc *pdoc = new DocDesc;
		pdoc->strPath = strDocFile;
		pdoc->strTitle = GetDocTitle(strDocFile);
		PostMessage(WM_DOC_OPENED,0,(LPARAM)pdoc);
		return VARIANT_TRUE;
	}

	 bOK = m_ViewDlg.OpenDocFile(strDocFile);
	 if (bOK)
	 {
		 m_PreviewDlg.ShowWindow(SW_HIDE);
		 m_ViewDlg.ShowWindow(SW_SHOW);
		 Invalidate(TRUE);
		 return VARIANT_TRUE;
	 }

	CString strErrMsg;
	strErrMsg.Format("打开文件[%s]失败!",strDocFile);
	MessageBox(strErrMsg,"错误",MB_OK|MB_ICONERROR);
	return VARIANT_FALSE;
}
コード例 #2
0
ファイル: MainFrm.cpp プロジェクト: enramot/browser
void CMainFrame::OnUpdateFrameTitle(BOOL) {
	AfxSetWindowText(m_hWnd, GetDocTitle());
}