PDA

Просмотр полной версии : как добавить OnBeforeNavigate2 ?? помогите



AlexDav
13.12.2005, 15:11
Есть плагин для IE в нем класс



class ATL_NO_VTABLE CLockNetPlug :
public CComObjectRootEx<CComMultiThreadModel>,
public CComCoClass<CLockNetPlug, &CLSID_LockNetPlug>,
public IObjectWithSiteImpl<CLockNetPlug>,
public IDispatchImpl<ILockNetPlug, &IID_ILockNetPlug, &LIBID_LockNetLib, /*wMajor =*/ 1, /*wMinor =*/ 0>,
public IOleCommandTarget
{
public:
CLockNetPlug()
{
}

DECLARE_REGISTRY_RESOURCEID(IDR_LOCKNETPLUG)


BEGIN_COM_MAP(CLockNetPlug)
COM_INTERFACE_ENTRY(ILockNetPlug)
COM_INTERFACE_ENTRY(IDispatch)
COM_INTERFACE_ENTRY(IObjectWithSite)
COM_INTERFACE_ENTRY(IOleCommandTarget)
END_COM_MAP()



DECLARE_PROTECT_FINAL_CONSTRUCT()

HRESULT FinalConstruct()
{
return S_OK;
}

void FinalRelease()
{
}

public:
STDMETHOD(QueryStatus)(
const GUID *pguidCmdGroup,// Pointer to command group
ULONG cCmds, // Number of commands in prgCmds array
OLECMD *prgCmds, // Array of commands
OLECMDTEXT *pCmdText); // Pointer to name or status of command

STDMETHOD(Exec)(
const GUID *pguidCmdGroup, // Pointer to command group
DWORD nCmdID, // Identifier of command to execute
DWORD nCmdExecOpt, // Options for executing the command
VARIANTARG *pvaIn, // Pointer to input arguments
VARIANTARG *pvaOut); // Pointer to command output

STDMETHOD(SetSite)(
IUnknown* pUnkSite);

IWebBrowser2* m_pWebBrowser2;


Мне нужно добавить обработку события OnBeforeNavigate2 поискал поиском — нашел кучу всего, но честно говоря до меня с трудом доходит, если не сложно добавьте это событие в мой класс и объяните что и зачем тупому

Eugie
13.12.2005, 16:26
См. http://www.codeguru.com/Cpp/W-P/system/security/article.php/c5697/ , там есть пример Browser Event Handling

AlexDav
13.12.2005, 17:34
Ага спасибо. Попробую разобраться (хотя плохо знаю японский на ангилйском :))