4 // The following can also be found in exdispid.h (except MinGW)
\r
5 #define DISPID_STATUSTEXTCHANGE 102
\r
6 #define DISPID_DOWNLOADCOMPLETE 104
\r
7 #define DISPID_COMMANDSTATECHANGE 105
\r
8 #define DISPID_DOWNLOADBEGIN 106
\r
9 #define DISPID_PROGRESSCHANGE 108
\r
10 #define DISPID_PROPERTYCHANGE 112
\r
11 #define DISPID_TITLECHANGE 113
\r
12 #define DISPID_BEFORENAVIGATE2 250
\r
13 #define DISPID_NEWWINDOW2 251
\r
14 #define DISPID_NAVIGATECOMPLETE2 252
\r
15 #define DISPID_DOCUMENTCOMPLETE 259
\r
18 class CMainFrame; // Forward declaration
\r
20 ///////////////////////////////////////////////
\r
21 // About the CEventSink class.
\r
22 // The CEventSink implements the event sink for our browser. An Event Sink
\r
23 // provides a mechanism to respond to events triggered by an ActiveX control.
\r
24 // The ActiveX browser is the event source, and CMainFrame is the event sink.
\r
25 class CEventSink : public IDispatch
\r
29 void SetSink(CMainFrame* pSink) {m_pSink = pSink;}
\r
32 STDMETHODIMP QueryInterface(REFIID riid, void** ppvObject);
\r
33 STDMETHODIMP_(ULONG) AddRef();
\r
34 STDMETHODIMP_(ULONG) Release();
\r
36 // IDispatch Methods
\r
37 STDMETHODIMP GetIDsOfNames(REFIID riid, OLECHAR** rgszNames, unsigned int cNames, LCID lcid, DISPID* rgdispid);
\r
38 STDMETHODIMP GetTypeInfo(unsigned int itinfo, LCID lcid, ITypeInfo** pptinfo);
\r
39 STDMETHODIMP GetTypeInfoCount(unsigned int* pctinfo);
\r
40 STDMETHODIMP Invoke(DISPID dispid, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS* pdispparams, VARIANT* pvarResult, EXCEPINFO* pexecinfo, unsigned int* puArgErr);
\r
43 ULONG m_cRefs; // ref count
\r
44 CMainFrame* m_pSink; // Send the notifications here
\r
47 #endif // EVENTSINK_H
\r