Ik heb een internet explorer toolbar gemaakt, gebaseerd op deze code http://www.codeproject.com/useritems/toolband.asp
Nu probeer ik vanuit deze toolbar het BeforeNavigate event van de webbrowser op te vangen. Nu lukt me dit dus niet, mijn beforeNav2 methode gaat nooit af.
Nu is dus de vraag of jullie weten wat ik verkeerd doe.
Nu probeer ik vanuit deze toolbar het BeforeNavigate event van de webbrowser op te vangen. Nu lukt me dit dus niet, mijn beforeNav2 methode gaat nooit af.
Nu is dus de vraag of jullie weten wat ik verkeerd doe.
C++:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
| //ToolBandObj.h : Declaration of the CToolBandObj #ifndef __TOOLBANDOBJ_H_ #define __TOOLBANDOBJ_H_ #include "resource.h" // main symbols #include <exdisp.h> #include <exdispid.h> // // These are needed for IDeskBand // #include <shlguid.h> #include <shlobj.h> #include "BandToolBarCtrl.h" ///////////////////////////////////////////////////////////////////////////// // CToolBandObj class ATL_NO_VTABLE CToolBandObj : public CComObjectRootEx<CComSingleThreadModel>, public CComCoClass<CToolBandObj, &CLSID_ToolBandObj>, public IDeskBand, public IObjectWithSite, public IPersistStream, public IInputObject, public IDispatchImpl<IToolBandObj, &IID_IToolBandObj, &LIBID_TOOLBANDLib>, public IDispEventImpl<0, CToolBandObj, &DIID_DWebBrowserEvents2, &LIBID_SHDocVw, 1,0> { public: CToolBandObj(); DECLARE_REGISTRY_RESOURCEID(IDR_TOOLBANDOBJ) DECLARE_PROTECT_FINAL_CONSTRUCT() BEGIN_CATEGORY_MAP(CToolBandObj) // IMPLEMENTED_CATEGORY(CATID_InfoBand) // IMPLEMENTED_CATEGORY(CATID_CommBand) // IMPLEMENTED_CATEGORY(CATID_DeskBand) END_CATEGORY_MAP() BEGIN_COM_MAP(CToolBandObj) COM_INTERFACE_ENTRY(IToolBandObj) COM_INTERFACE_ENTRY(IOleWindow) COM_INTERFACE_ENTRY_IID(IID_IDockingWindow, IDockingWindow) COM_INTERFACE_ENTRY(IObjectWithSite) COM_INTERFACE_ENTRY_IID(IID_IDeskBand, IDeskBand) COM_INTERFACE_ENTRY(IPersist) COM_INTERFACE_ENTRY(IPersistStream) COM_INTERFACE_ENTRY_IID(IID_IInputObject,IInputObject) COM_INTERFACE_ENTRY(IDispatch) END_COM_MAP() BEGIN_SINK_MAP(CToolBandObj) SINK_ENTRY_EX(0,DIID_DWebBrowserEvents2,DISPID_BEFORENAVIGATE2,beforeNav2) END_SINK_MAP() public: STDMETHOD(beforeNav2) (LPDISPATCH pDisp , VARIANT* URL, VARIANT* Flags, VARIANT* TargetFrameName, VARIANT* PostData, VARIANT* Headers, BOOL* Cancel) { MessageBox(NULL,"Hoera een beforenavevent!","IE",MB_OK); return 0; } // IDeskBand public: STDMETHOD(GetBandInfo)(DWORD dwBandID, DWORD dwViewMode, DESKBANDINFO* pdbi); // IObjectWithSite public: STDMETHOD(SetSite)(IUnknown* pUnkSite); STDMETHOD(GetSite)(REFIID riid, void **ppvSite); // IOleWindow public: STDMETHOD(GetWindow)(HWND* phwnd); STDMETHOD(ContextSensitiveHelp)(BOOL fEnterMode); // IDockingWindow public: STDMETHOD(CloseDW)(unsigned long dwReserved); STDMETHOD(ResizeBorderDW)(const RECT* prcBorder, IUnknown* punkToolbarSite, BOOL fReserved); STDMETHOD(ShowDW)(BOOL fShow); // IPersist public: STDMETHOD(GetClassID)(CLSID *pClassID); // IPersistStream public: STDMETHOD(IsDirty)(void); STDMETHOD(Load)(IStream *pStm); STDMETHOD(Save)(IStream *pStm, BOOL fClearDirty); STDMETHOD(GetSizeMax)(ULARGE_INTEGER *pcbSize); // IInputObject methods public: STDMETHOD (UIActivateIO) (BOOL, LPMSG); STDMETHOD (HasFocusIO) (void); STDMETHOD (TranslateAcceleratorIO) (LPMSG); // IToolBandObj public: void FocusChange(bool bFocus); CBandToolBarCtrl* GetToolBarCtrl() {return &m_wndToolBar;} protected: BOOL RegisterAndCreateWindow(); protected: DWORD m_dwBandID; DWORD m_dwViewMode; BOOL m_bShow; BOOL m_bEnterHelpMode; HWND m_hWndParentRebar; HWND m_hWnd; LPCSTR m_pszVerb; LPCTSTR m_pwszVerb; IInputObjectSite* m_pSite; IWebBrowser2* m_pWebBrowser; CBandToolBarReflectorCtrl m_wndInvisibleChildWnd; // Used for Reflecting Messages CBandToolBarCtrl m_wndToolBar; }; #endif //__TOOLBANDOBJ_H_ |
[ Voor 3% gewijzigd door Glimi op 27-02-2003 09:53 ]