⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 scripterrorcommandtargetimpl.h

📁 一个使用wtl写的完整的多窗口浏览器
💻 H
字号:

#pragma once

// for debug
#ifdef _DEBUG
	const bool _Mtl_ScriptErrorCommandTargetImpl_traceOn = true;
	#define secTRACE if (_Mtl_ScriptErrorCommandTargetImpl_traceOn) ATLTRACE
#else
	#define secTRACE
#endif

template <class T>
class ATL_NO_VTABLE IScriptErrorCommandTargetImpl : public IOleCommandTarget
{
public:
	STDMETHOD(QueryStatus)( 
            /* [unique][in] */ const GUID __RPC_FAR *pguidCmdGroup,
            /* [in] */ ULONG cCmds,
            /* [out][in][size_is] */ OLECMD __RPC_FAR prgCmds[  ],
            /* [unique][out][in] */ OLECMDTEXT __RPC_FAR *pCmdText)
	{
		return E_FAIL;
	}

	STDMETHOD(Exec)( 
            /* [unique][in] */ const GUID __RPC_FAR *pguidCmdGroup,
            /* [in] */ DWORD nCmdID,
            /* [in] */ DWORD nCmdexecopt,
            /* [unique][in] */ VARIANT __RPC_FAR *pvaIn,
            /* [unique][out][in] */ VARIANT __RPC_FAR *pvaOut)
	{
		if (pguidCmdGroup == NULL || !::IsEqualGUID(*pguidCmdGroup, DONUT_CGID_DocHostCommandHandler))
			return OLECMDERR_E_UNKNOWNGROUP;

		if (nCmdID != OLECMDID_SHOWSCRIPTERROR)
			return OLECMDERR_E_NOTSUPPORTED;
		
		secTRACE(_T("IScriptErrorCommandTargetImpl::Exec\n"));

		T* pT = static_cast<T*>(this);
		CWindow wndFrame = pT->GetTopLevelParent();
		CWindow wndStatus = wndFrame.GetDlgItem(ATL_IDW_STATUS_BAR);
		wndStatus.SetWindowText(_T("僗僋儕僾僩僄儔乕偑敪惗偟傑偟偨"));
/*
		IUnknown* pUnk = V_UNKNOWN(pvaIn);
		CComQIPtr<IHTMLDocument2> spDocument = pUnk;
		if (!spDocument)
			return hr;
		CComQIPtr<IHTMLWindow2> spWindow = spDocument;
		if (!spWindow)
			return hr;

		CComPtr<IHTMLEventObj> spEvent;
		HRESULT hr = spWindow->get_event(&spEvent);
		if (FAILED(hr))
			return hr;
*/

 		pvaOut->vt = VT_BOOL;
		V_BOOL(pvaOut) = VARIANT_TRUE;

		return S_OK;
	}
};

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -