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); } }
void CWebCtrl::BeforeNavigate2(LPDISPATCH /*pDispatch*/, VARIANT* pvURL, VARIANT* pvFlags, VARIANT* pvTargetFrameName, VARIANT* pvPostData, VARIANT* pvHeaders, VARIANT_BOOL* pvCancel) { ASSERT(V_VT(pvURL) == VT_BSTR); ASSERT(V_VT(pvTargetFrameName) == VT_BSTR); ASSERT(pvCancel != NULL); *pvCancel = VARIANT_FALSE; if ( SysStringLen( V_BSTR(pvTargetFrameName) ) == 0 ) { CString strURL( V_BSTR(pvURL) ); if ( _tcsncmp( strURL, _T("http"), 4 ) == 0 ) { *pvCancel = VARIANT_TRUE; m_tFrame = GetTickCount(); COleVariant vFrame( _T("_blank"), VT_BSTR ); m_pBrowser->Navigate2( pvURL, pvFlags, &vFrame, pvPostData, pvHeaders ); } } }