BOOL CEnBrowserCtrl::SafeExecWB(long cmdID, long cmdexecopt, VARIANT* pvaIn, VARIANT* pvaOut) { try { ExecWB(cmdID, cmdexecopt, pvaIn, pvaOut); } catch (CException* /*e*/) { // fallback for unhandled options switch (cmdID) { case OLECMDID_PRINT2: return SafeExecWB(OLECMDID_PRINT, cmdexecopt, pvaIn, pvaOut); case OLECMDID_PRINTPREVIEW2: return SafeExecWB(OLECMDID_PRINTPREVIEW, cmdexecopt, pvaIn, pvaOut); default:; // fall thru } return FALSE; } return TRUE; }
void CEnBrowserCtrl::OnNavigateComplete2(LPDISPATCH /*pDisp*/, VARIANT FAR* /*URL*/) { switch (m_nAction) { case EBC_PRINT: SafeExecWB(OLECMDID_PRINT, OLECMDEXECOPT_DODEFAULT, NULL, NULL); break; case EBC_PRINTPREVIEW: SafeExecWB(OLECMDID_PRINTPREVIEW, OLECMDEXECOPT_DODEFAULT, NULL, NULL); break; } m_nAction = EBC_NONE; }
void CEnBrowserCtrl::OnNavigateComplete2(LPDISPATCH /*pDisp*/, VARIANT FAR* URL) { CString sURL; _bstr_t sTemp; sTemp = *URL; sURL = CString(LPCTSTR(sTemp)); switch (m_nAction) { case EBC_PRINT: SafeExecWB(OLECMDID_PRINT, OLECMDEXECOPT_DODEFAULT, NULL, NULL); break; case EBC_PRINTPREVIEW: SafeExecWB(OLECMDID_PRINTPREVIEW, OLECMDEXECOPT_DODEFAULT, NULL, NULL); break; } m_nAction = EBC_NONE; }
void CEnBrowserCtrl::PrintPreview(LPCTSTR szFile) { if (!szFile || !*szFile) SafeExecWB(OLECMDID_PRINTPREVIEW, OLECMDEXECOPT_DODEFAULT, NULL, NULL); else { COleVariant vFlags(0L), vFrame(_T("")), vData(_T("")), vHeaders(_T("")); // navigate to print file m_nAction = EBC_PRINTPREVIEW; Navigate(szFile, vFlags, vFrame, vData, vHeaders); } }