示例#1
0
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;
}
示例#2
0
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;
}
示例#3
0
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;
}
示例#4
0
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);
	}
}