How to catch DISPID_CLICK event ?



Hello everybody, hello Mr Igor :D

I try sinking DISPID_CLICK but I don't arrive.
I sink severals events with Invoke function like:
- DISPID_BEFORENAVIGATE2
- DISPID_DOCUMENTCOMPLETE

I implemented some Interfaces like this:
class ATL_NO_VTABLE CMyClass :
public CComObjectRootEx<CComSingleThreadModel>,
public CComCoClass<CMyClass, &CLSID_MyClass>,
public IObjectWithSiteImpl<CMyClass>,
public IOleCommandTarget,
public IDispEventImpl<1, CMyClass, &DIID_DWebBrowserEvents2,
&LIBID_MSHTML, 4, 0>,
public IDispEventImpl<2, CMyClass, &DIID_DWebBrowserEvents2,
&LIBID_MSHTML, 4, 0>,
public IDispatchImpl<IMyClass, &IID_IMyClass, &LIBID_MYCLASSLib>


BEGIN_SINK_MAP(CMyClass)
SINK_ENTRY_EX(1, DIID_DWebBrowserEvents2, DISPID_CLICK, OnClick)
SINK_ENTRY_EX(2, DIID_DWebBrowserEvents2, DISPID_DOCUMENTCOMPLETE,
DocumentComplete)
END_SINK_MAP()

Prototypes:

void OnClick(VARIANT_BOOL *bProcessEvent);
STDMETHOD(DocumentComplete)(IDispatch *wbDisp, VARIANT* url);

But nothing, OnClick and DocumentComplete are never called.
What is my error ?
Only Invoke function sink the events DISPID_BEFORENAVIGATE2,
DISPID_DOCUMENTCOMPLETE.

Thanks by advance.

Seb

.



Relevant Pages

  • Re: How to catch DISPID_CLICK event ?
    ... class ATL_NO_VTABLE CMyClass: ... public IOleCommandTarget, ... DocumentComplete) ... Prev by Date: ...
    (microsoft.public.inetsdk.programming.webbrowser_ctl)
  • Re: How to catch DISPID_CLICK event ?
    ... class ATL_NO_VTABLE CMyClass: ... DocumentComplete) ... I don't advise my sinks because I don't know this:( ... I know I have to integrated this in the Site Function. ...
    (microsoft.public.inetsdk.programming.webbrowser_ctl)