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; }
void CMainFrame::OnUpdateFrameTitle(BOOL) { AfxSetWindowText(m_hWnd, GetDocTitle()); }