ReactOS 0.4.15-dev-7788-g1ad9096
webchild.h
Go to the documentation of this file.
1/*
2 * Copyright 2004, 2005 Martin Fuchs
3 *
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
8 *
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
13 *
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17 */
18
19
20 //
21 // Explorer clone
22 //
23 // webchild.h
24 //
25 // Martin Fuchs, 08.02.2004
26 //
27
28
29#ifndef _MSC_VER
30#include <exdisp.h> // for IConnectionPointContainer
31#include <exdispid.h> // for DWebBrowserEvents2 IDs
32#endif
33
34#ifndef DISPID_BEFORENAVIGATE // missing in MinGW (as of 07.02.2004)
35#define DISPID_BEFORENAVIGATE 100
36#define DISPID_NAVIGATECOMPLETE 101
37#define DISPID_STATUSTEXTCHANGE 102
38#define DISPID_QUIT 103
39#define DISPID_DOWNLOADCOMPLETE 104
40#define DISPID_COMMANDSTATECHANGE 105
41#define DISPID_DOWNLOADBEGIN 106
42#define DISPID_NEWWINDOW 107
43#define DISPID_PROGRESSCHANGE 108
44#define DISPID_WINDOWMOVE 109
45#define DISPID_WINDOWRESIZE 110
46#define DISPID_WINDOWACTIVATE 111
47#define DISPID_PROPERTYCHANGE 112
48#define DISPID_TITLECHANGE 113
49#define DISPID_TITLEICONCHANGE 114
50#define DISPID_FRAMEBEFORENAVIGATE 200
51#define DISPID_FRAMENAVIGATECOMPLETE 201
52#define DISPID_FRAMENEWWINDOW 204
53
54#define DISPID_NAVIGATECOMPLETE2 252
55#define DISPID_ONQUIT 253
56#define DISPID_ONVISIBLE 254
57#define DISPID_ONTOOLBAR 255
58#define DISPID_ONMENUBAR 256
59#define DISPID_ONSTATUSBAR 257
60#define DISPID_ONFULLSCREEN 258
61#define DISPID_DOCUMENTCOMPLETE 259
62#define DISPID_ONTHEATERMODE 260
63#define DISPID_ONADDRESSBAR 261
64#define DISPID_WINDOWSETRESIZABLE 262
65#define DISPID_WINDOWCLOSING 263
66#define DISPID_WINDOWSETLEFT 264
67#define DISPID_WINDOWSETTOP 265
68#define DISPID_WINDOWSETWIDTH 266
69#define DISPID_WINDOWSETHEIGHT 267
70#define DISPID_CLIENTTOHOSTWINDOW 268
71#define DISPID_SETSECURELOCKICON 269
72#define DISPID_FILEDOWNLOAD 270
73#define DISPID_NAVIGATEERROR 271
74#define DISPID_PRIVACYIMPACTEDSTATECHANGE 272
75#endif
76
77#ifndef V_INT // missing in MinGW (as of 07.02.2004)
78#define V_INT(x) V_UNION(x, intVal)
79#endif
80
81#ifdef _MSC_VER
82#pragma warning(disable: 4355) // use of 'this' for initialization of _connector
83#endif
84
85
86template<typename T> struct ConnectionPoint : public SIfacePtr<T>
87{
89 {
90 CheckError(pCPC->FindConnectionPoint(riid, &this->_p));
91 }
92};
93
95{
97 {
98 CheckError(connectionpoint->Advise(sink, &_cookie));
99 _connectionpoint = connectionpoint;
100 }
101
102 template<typename T> EventConnection(T& connectionpoint, IUnknown* sink)
103 {
104 CheckError(connectionpoint->Advise(sink, &_cookie));
105 _connectionpoint = connectionpoint;
106 }
107
108/* template<typename T> EventConnection(SIfacePtr<T>& connectionpoint, IUnknown* sink)
109 {
110 CheckError(connectionpoint->Advise(sink, &_cookie));
111 _connectionpoint = connectionpoint.GetPtr();
112 } */
113
114/* template<typename T> EventConnection(T& connectionpoint, IUnknown* sink)
115 {
116 CheckError(connectionpoint->Advise(sink, &_cookie));
117 _connectionpoint = connectionpoint;
118 } */
119
121 {
124 }
125
126protected:
129};
130
132{
136 {
137 }
138};
139
140
142 public IOleClientSite,
143 public IOleInPlaceSite
144{
145protected:
147
148public:
150 : _hwnd(hwnd)
151 {
152 }
153
155 {
156 _hwnd = hwnd;
157 }
158
160 {
161 HRESULT hr = ole_obj->SetClientSite(this);
162 if (FAILED(hr))
163 return hr;
164
165// hr = ole_obj->SetHostNames(app, doc));
166
167 hr = ole_obj->DoVerb(iVerb, NULL, this, 0, 0/*hwnd*/, NULL/*&rcPos*/);
168
169 return hr;
170 }
171
172 HRESULT detach(IOleObject* ole_obj, DWORD dwSaveOption=OLECLOSE_SAVEIFDIRTY)
173 {
174 HRESULT hr = ole_obj->Close(dwSaveOption);
175
176 _hwnd = 0;
177
178 return hr;
179 }
180
182 {
184 {*ppv=static_cast<IOleClientSite*>(this); IncRef(); return S_OK;}
185
187 {*ppv=static_cast<IOleInPlaceSite*>(this); IncRef(); return S_OK;}
188
190 {*ppv=static_cast<IOleClientSite/*oder auch IOleInPlaceSite*/*>(this); IncRef(); return S_OK;}
191
192 return E_NOINTERFACE;
193 }
194
197
198
199 // IOleWindow:
200
201 virtual /* [input_sync] */ HRESULT STDMETHODCALLTYPE GetWindow(/* [out] */ HWND __RPC_FAR *phwnd)
202 {
203 *phwnd = _hwnd;
204 return S_OK;
205 }
206
207 virtual HRESULT STDMETHODCALLTYPE ContextSensitiveHelp(/* [in] */ BOOL fEnterMode)
208 {
209 return E_NOTIMPL;
210 }
211
212
213 // IOleClientSite:
214
216 {
217 return E_NOTIMPL;
218 }
219
220 virtual HRESULT STDMETHODCALLTYPE GetMoniker(DWORD dwAssign, DWORD dwWhichMoniker, IMoniker __RPC_FAR *__RPC_FAR *ppmk)
221 {
222 return E_NOTIMPL;
223 }
224
226 {
227 ppContainer = 0;
228 return E_NOINTERFACE;
229 }
230
232 {
233 return S_OK;
234 }
235
237 {
238 return S_OK;
239 }
240
242 {
243 return S_OK;
244 }
245
246
247 // IOleInPlaceSite:
248
250 {
251 return S_OK;
252 }
253
255 {
256 return S_OK;
257 }
258
260 {
261 return S_OK;
262 }
263
265 /* [out] */ IOleInPlaceFrame __RPC_FAR *__RPC_FAR *ppFrame,
266 /* [out] */ IOleInPlaceUIWindow __RPC_FAR *__RPC_FAR *ppDoc,
267 /* [out] */ LPRECT lprcPosRect,
268 /* [out] */ LPRECT lprcClipRect,
269 /* [out][in] */ LPOLEINPLACEFRAMEINFO lpFrameInfo)
270 {
271 ClientRect rect(_hwnd);
272
273 ppFrame = 0;
274 ppDoc = 0;
275 *lprcPosRect = rect;
276 *lprcClipRect = rect;
277
278 assert(lpFrameInfo->cb>=sizeof(OLEINPLACEFRAMEINFO));
279 lpFrameInfo->fMDIApp = FALSE; //@@
280 lpFrameInfo->hwndFrame = 0;
281 lpFrameInfo->haccel = 0;
282 lpFrameInfo->cAccelEntries = 0;
283
284 return S_OK;
285 }
286
287 virtual HRESULT STDMETHODCALLTYPE Scroll(/* [in] */ SIZE scrollExtant)
288 {
289 return S_OK;
290 }
291
292 virtual HRESULT STDMETHODCALLTYPE OnUIDeactivate(/* [in] */ BOOL fUndoable)
293 {
294 return S_OK;
295 }
296
298 {
299 return S_OK;
300 }
301
303 {
304 return S_OK;
305 }
306
308 {
309 return S_OK;
310 }
311
312 virtual HRESULT STDMETHODCALLTYPE OnPosRectChange(/* [in] */ LPCRECT lprcPosRect)
313 {
314 return S_OK;
315 }
316};
317
318
319 // window with in place activates Active-X Control
320
321template<typename BASE, typename SMARTPTR> struct IPCtrlWindow : public BASE
322{
323 typedef BASE super;
324
326 : super(hwnd)
327 {
328 }
329
330 template<typename T> IPCtrlWindow(HWND hwnd, T& info)
331 : super(hwnd, info)
332 {
333 }
334
336 {
337 // Erzeugen einer Instanz des Controls
338 HRESULT hr = _control.CreateInstance(clsid, riid);
339 if (FAILED(hr))
340 return hr;
341
343
345 hwnd, &Rect(10, 10, 500, 500)*/);
346 if (FAILED(hr))
347 return hr;
348
349 // try to get a IOleInPlaceObject interface for window resizing
350 return _control.QueryInterface(IID_IOleInPlaceObject, &_in_place_object); // _in_place_object = _control
351 }
352
353protected:
355 {
356 if (nmsg == WM_SIZE) {
357 if (_in_place_object) {
358 RECT rect = {0, 0, LOWORD(lparam), HIWORD(lparam)};
359
361 }
362 } else if (nmsg == WM_CLOSE) {
364
365 if (_control) {
367 _control = NULL;
368 }
369 }
370
371 return super::WndProc(nmsg, wparam, lparam);
372 }
373
375 SMARTPTR _control;
378};
379
380
381
382#include "exdispid.h"
383
384
386{
388
389 virtual void StatusTextChange(const BStr& text)
390 {}
391
392 virtual void ProgressChange(long progress, long progressMax)
393 {}
394
395 virtual void WindowMove()
396 {}
397
398 virtual void WindowResize()
399 {}
400
401 virtual void WindowActivate()
402 {}
403
404 virtual void PropertyChange(const BStr& property)
405 {}
406
407 virtual void DownloadComplete()
408 {}
409
410 virtual void CommandStateChange(long command, bool enable)
411 {}
412
413 virtual void DownloadBegin()
414 {}
415
416 virtual void NewWindow2(IDispatch** ppDisp, VARIANT_BOOL& cancel)
417 {}
418
419 virtual void TitleChange(const BStr& text)
420 {}
421
422 virtual void TitleIconChange(const BStr& text)
423 {}
424
425 virtual void FrameBeforeNavigate(const BStr& url, long flags, const BStr& targetFrameName, VARIANT* postData, const BStr& headers, VARIANT_BOOL& cancel)
426 {}
427
428 virtual void FrameNavigateComplete(const BStr& url)
429 {}
430
431 virtual void FrameNewWindow(const BStr&url, long flags, const BStr& targetFrameName, VARIANT* postData, const BStr& headers, VARIANT_BOOL& processed)
432 {}
433
434 virtual void BeforeNavigate2(IDispatch* pDisp, const Variant& url, const Variant& flags,
435 const Variant& targetFrameName, const Variant& postData,
436 const Variant& headers, VARIANT_BOOL& cancel)
437 {}
438
439 virtual void NavigateComplete2(IDispatch* pDisp, const Variant& url)
440 {}
441
442 virtual void OnQuit()
443 {}
444
445 virtual void OnVisible(bool Visible)
446 {}
447
448 virtual void OnToolbar(bool Visible)
449 {}
450
451 virtual void OnMenubar(bool Visible)
452 {}
453
454 virtual void OnStatusbar(bool Visible)
455 {}
456
457 virtual void OnFullscreen(bool Visible)
458 {}
459
460 virtual void DocumentComplete()
461 {}
462
463 virtual void OnTheatermode(bool Visible)
464 {}
465
466 virtual void OnAddressbar(bool Visible)
467 {}
468
469 virtual void WindowSetResizable(bool Visible)
470 {}
471
472 virtual void WindowClosing(VARIANT_BOOL IsChildWindow, VARIANT_BOOL& cancel)
473 {}
474
475 virtual void WindowSetLeft(long Left)
476 {}
477
478 virtual void WindowSetTop(long Top)
479 {}
480
481 virtual void WindowSetWidth(long Width)
482 {}
483
484 virtual void WindowSetHeight(long Height)
485 {}
486
487 virtual void ClientToHostWindow(long& CX, long& CY)
488 {}
489
490 virtual void SetSecureLockIcon(long SecureLockIcon)
491 {}
492
493 virtual void FileDownload(Variant& cancel)
494 {}
495
496 virtual void NavigateError(IDispatch* pDisp, const Variant& url, const Variant& Frame, const Variant& StatusCode, VARIANT_BOOL& cancel)
497 {}
498
499 virtual void PrivacyImpactedStateChange(bool bImpacted)
500 {}
501};
502
503
504 // The web browser control has to be initialized completely before being able,
505 // to display a page, that does not access internet.
507{
509
510 void attach(IWebBrowser* browser);
511 void goto_url(LPCTSTR url);
512 void set_html_page(const String& html_txt);
513 void navigated(LPCTSTR url);
514
515 IWebBrowser* get_browser() {return _browser.get();}
516
517protected:
522};
523
524
525 // MinGW defines a wrong FixedDWebBrowserEvents2 interface with virtual functions for DISPID calls, so we use our own, corrected version:
526interface FixedDWebBrowserEvents2 : public IDispatch
527{
528#ifdef __GNUC__
529 virtual ~FixedDWebBrowserEvents2() {}
530#endif
531};
532
534 : public IComSrvBase<FixedDWebBrowserEvents2, DWebBrowserEvents2Impl>, public SimpleComObject,
536{
538
539
541
542
544 : super(DIID_DWebBrowserEvents2),
545 _navigator(navigator)
546 {
547 _callback = this;
548 }
549
550
551/* // IUnknown
552 STDMETHOD(QueryInterface)(REFIID riid, LPVOID* ppv)
553 {
554 *ppv = NULL;
555
556 if (SUCCEEDED(super::QueryInterface(riid, ppv)))
557 return S_OK;
558
559 return E_NOINTERFACE;
560 } */
561
562
563 // IDispatch
564 STDMETHOD(GetTypeInfoCount)(UINT* pctinfo)
565 {return E_NOTIMPL;}
566
567 STDMETHOD(GetTypeInfo)(UINT iTInfo, LCID lcid, ITypeInfo** ppTInfo)
568 {return E_NOTIMPL;}
569
570 STDMETHOD(GetIDsOfNames)(REFIID riid, LPOLESTR* rgszNames, UINT cNames, LCID lcid, DISPID* rgDispId)
571 {return E_NOTIMPL;}
572
573 STDMETHOD(Invoke)(DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags,
574 DISPPARAMS __RPC_FAR *pDispParams, VARIANT __RPC_FAR *pVarResult, EXCEPINFO __RPC_FAR *pExcepInfo, UINT __RPC_FAR *puArgErr)
575 {
576 switch(dispIdMember) {
578 _callback->StatusTextChange((BStr)Variant(pDispParams->rgvarg[0]));
579 break;
580
582 _callback->CommandStateChange(Variant(pDispParams->rgvarg[1]), Variant(pDispParams->rgvarg[0]));
583 break;
584
586 _callback->DownloadBegin();
587 break;
588
589 case DISPID_PROGRESSCHANGE: // sent when download progress is updated
590 _callback->ProgressChange(Variant(pDispParams->rgvarg[1]), Variant(pDispParams->rgvarg[0]));
591 break;
592
593 case DISPID_WINDOWMOVE: // sent when main window has been moved
594 _callback->WindowMove();
595 break;
596
597 case DISPID_WINDOWRESIZE: // sent when main window has been sized
598 _callback->WindowResize();
599 break;
600
601 case DISPID_WINDOWACTIVATE: // sent when main window has been activated
602 _callback->WindowActivate();
603 break;
604
605 case DISPID_PROPERTYCHANGE: // sent when the PutProperty method is called
606 _callback->PropertyChange((BStr)Variant(pDispParams->rgvarg[0]));
607 break;
608
609 case DISPID_TITLECHANGE: // sent when the document title changes
610 _callback->TitleChange((BStr)Variant(pDispParams->rgvarg[0]));
611 break;
612
613 case DISPID_TITLEICONCHANGE: // sent when the top level window icon may have changed.
614 _callback->TitleIconChange((BStr)Variant(pDispParams->rgvarg[0]));
615 break;
616
617
618 // anything below here is not present in DWebBrowserEvents, only in DWebBrowserEvents2: ->
619
621 if (pDispParams->cArgs != 6)
622 return E_INVALIDARG;
623 if (V_VT(&pDispParams->rgvarg[0]) != (VT_BOOL|VT_BYREF))
624 return E_INVALIDARG;
625 _callback->FrameBeforeNavigate(
626 (BStr)Variant(&pDispParams->rgvarg[5]), Variant(&pDispParams->rgvarg[4]),
627 (BStr)Variant(&pDispParams->rgvarg[3]), &pDispParams->rgvarg[2],
628 (BStr)Variant(&pDispParams->rgvarg[1]), *V_BOOLREF(&pDispParams->rgvarg[0]));
629 break;
630
632 if (pDispParams->cArgs != 1)
633 return E_INVALIDARG;
634 _callback->FrameNavigateComplete((BStr)Variant(pDispParams->rgvarg[0]));
635 break;
636
638 if (pDispParams->cArgs != 6)
639 return E_INVALIDARG;
640 if (V_VT(&pDispParams->rgvarg[0]) != (VT_BOOL|VT_BYREF))
641 return E_INVALIDARG;
642 _callback->FrameNewWindow((BStr)Variant(&pDispParams->rgvarg[5]), Variant(&pDispParams->rgvarg[4]),
643 (BStr)Variant(&pDispParams->rgvarg[3]), &pDispParams->rgvarg[2],
644 (BStr)Variant(&pDispParams->rgvarg[1]), *V_BOOLREF(&pDispParams->rgvarg[0]));
645 break;
646
647 case DISPID_BEFORENAVIGATE2: // hyperlink clicked on
648 if (pDispParams->cArgs != 7)
649 return E_INVALIDARG;
650 if (V_VT(&pDispParams->rgvarg[0]) != (VT_BOOL|VT_BYREF))
651 return E_INVALIDARG;
652 _callback->BeforeNavigate2(Variant(pDispParams->rgvarg[6]),
653 pDispParams->rgvarg[5], &pDispParams->rgvarg[4],
654 pDispParams->rgvarg[3], &pDispParams->rgvarg[2],
655 pDispParams->rgvarg[1], *V_BOOLREF(&pDispParams->rgvarg[0]));
656 break;
657
658 case DISPID_NEWWINDOW2: // sent when a new window should be created
659 if (pDispParams->cArgs != 2)
660 return E_INVALIDARG;
661 if (V_VT(&pDispParams->rgvarg[0]) != (VT_BOOL|VT_BYREF))
662 return E_INVALIDARG;
663 if (V_VT(&pDispParams->rgvarg[1]) != (VT_DISPATCH|VT_BYREF))
664 return E_INVALIDARG;
665 _callback->NewWindow2(V_DISPATCHREF(&pDispParams->rgvarg[1]), *V_BOOLREF(&pDispParams->rgvarg[0]));
666 break;
667
668 case DISPID_NAVIGATECOMPLETE2:// UIActivate new document
669 if (pDispParams->cArgs != 2)
670 return E_INVALIDARG;
671
672 // notify the navigator
673 NavigateComplete2(Variant(pDispParams->rgvarg[1]), Variant(pDispParams->rgvarg[0]));
674
675 _callback->NavigateComplete2(Variant(pDispParams->rgvarg[1]), Variant(pDispParams->rgvarg[0]));
676 break;
677
678 case DISPID_ONQUIT:
679 _callback->OnQuit();
680 break;
681
682 case DISPID_ONVISIBLE: // sent when the window goes visible/hidden
683 if (pDispParams->cArgs != 1)
684 return E_INVALIDARG;
685 _callback->OnVisible(Variant(pDispParams->rgvarg[0]));
686 break;
687
688 case DISPID_ONTOOLBAR: // sent when the toolbar should be shown/hidden
689 if (pDispParams->cArgs != 1)
690 return E_INVALIDARG;
691 _callback->OnToolbar(Variant(pDispParams->rgvarg[0]));
692 break;
693
694 case DISPID_ONMENUBAR: // sent when the menubar should be shown/hidden
695 if (pDispParams->cArgs != 1)
696 return E_INVALIDARG;
697 _callback->OnMenubar(Variant(pDispParams->rgvarg[0]));
698 break;
699
700 case DISPID_ONSTATUSBAR: // sent when the statusbar should be shown/hidden
701 if (pDispParams->cArgs != 1)
702 return E_INVALIDARG;
703 _callback->OnStatusbar(Variant(pDispParams->rgvarg[0]));
704 break;
705
706 case DISPID_ONFULLSCREEN: // sent when kiosk mode should be on/off
707 if (pDispParams->cArgs != 1)
708 return E_INVALIDARG;
709 _callback->OnFullscreen(Variant(pDispParams->rgvarg[0]));
710 break;
711
712 case DISPID_DOCUMENTCOMPLETE:// new document goes ReadyState_Complete
713 _callback->DocumentComplete();
714 break;
715
717 _callback->DownloadComplete();
718 break;
719
720 case DISPID_ONTHEATERMODE: // sent when theater mode should be on/off
721 if (pDispParams->cArgs != 1)
722 return E_INVALIDARG;
723 _callback->OnTheatermode(Variant(pDispParams->rgvarg[0]));
724 break;
725
726 case DISPID_ONADDRESSBAR: // sent when the address bar should be shown/hidden
727 if (pDispParams->cArgs != 1)
728 return E_INVALIDARG;
729 _callback->OnAddressbar(Variant(pDispParams->rgvarg[0]));
730 break;
731
732 case DISPID_WINDOWSETRESIZABLE:// sent to set the style of the host window frame
733 if (pDispParams->cArgs != 1)
734 return E_INVALIDARG;
735 _callback->WindowSetResizable(Variant(pDispParams->rgvarg[0]));
736 break;
737
738 case DISPID_WINDOWCLOSING: // sent before script window.close closes the window
739 if (pDispParams->cArgs != 2)
740 return E_INVALIDARG;
741 if (V_VT(&pDispParams->rgvarg[0]) != (VT_BOOL|VT_BYREF))
742 return E_INVALIDARG;
743 _callback->WindowClosing(Variant(pDispParams->rgvarg[1]), *V_BOOLREF(&pDispParams->rgvarg[0]));
744 break;
745
746 case DISPID_WINDOWSETLEFT: // sent when the put_left method is called on the WebOC
747 if (pDispParams->cArgs != 1)
748 return E_INVALIDARG;
749 _callback->WindowSetLeft(Variant(pDispParams->rgvarg[0]));
750 break;
751
752 case DISPID_WINDOWSETTOP: // sent when the put_top method is called on the WebOC
753 if (pDispParams->cArgs != 1)
754 return E_INVALIDARG;
755 _callback->WindowSetTop(Variant(pDispParams->rgvarg[0]));
756 break;
757
758 case DISPID_WINDOWSETWIDTH: // sent when the put_width method is called on the WebOC
759 if (pDispParams->cArgs != 1)
760 return E_INVALIDARG;
761 _callback->WindowSetWidth(Variant(pDispParams->rgvarg[0]));
762 break;
763
764 case DISPID_WINDOWSETHEIGHT: // sent when the put_height method is called on the WebOC
765 if (pDispParams->cArgs != 1)
766 return E_INVALIDARG;
767 _callback->WindowSetHeight(Variant(pDispParams->rgvarg[0]));
768 break;
769
770 case DISPID_CLIENTTOHOSTWINDOW:// sent during window.open to request conversion of dimensions
771 {
772 long cx, cy;
773 if (pDispParams->cArgs != 2)
774 return E_INVALIDARG;
775 if (V_VT(&pDispParams->rgvarg[0]) != (VT_I4|VT_BYREF))
776 return E_INVALIDARG;
777 if (V_VT(&pDispParams->rgvarg[1]) != (VT_I4|VT_BYREF))
778 return E_INVALIDARG;
779 cx = *V_I4REF(&pDispParams->rgvarg[1]);
780 cy = *V_I4REF(&pDispParams->rgvarg[0]);
781 _callback->ClientToHostWindow(cx, cy);
782 break;
783 }
784
785 case DISPID_SETSECURELOCKICON:// sent to suggest the appropriate security icon to show
786 if (pDispParams->cArgs != 1)
787 return E_INVALIDARG;
788 _callback->SetSecureLockIcon(Variant(pDispParams->rgvarg[0]));
789 break;
790
791 case DISPID_FILEDOWNLOAD: { // Fired to indicate the File Download dialog is opening
792 if (pDispParams->cArgs != 1) //@@ every time 2 ?!
793 return E_INVALIDARG;
794 Variant var(pDispParams->rgvarg[0]);
795 _callback->FileDownload(var);}
796 break;
797
798 case DISPID_NAVIGATEERROR: // Fired to indicate the a binding error has occured
799 if (pDispParams->cArgs != 5)
800 return E_INVALIDARG;
801 if (V_VT(&pDispParams->rgvarg[0]) != (VT_BOOL|VT_BYREF))
802 return E_INVALIDARG;
803 _callback->NavigateError(Variant(pDispParams->rgvarg[4]), Variant(pDispParams->rgvarg[3]),
804 Variant(pDispParams->rgvarg[2]), Variant(pDispParams->rgvarg[1]),
805 *V_BOOLREF(&pDispParams->rgvarg[0]));
806 break;
807
808 case DISPID_PRIVACYIMPACTEDSTATECHANGE:// Fired when the user's browsing experience is impacted
809 if (pDispParams->cArgs != 1)
810 return E_INVALIDARG;
811 _callback->PrivacyImpactedStateChange(Variant(pDispParams->rgvarg[0]));
812 break;
813
814 default:
815 return NOERROR;
816 }
817
818 return S_OK;
819 }
820
821protected:
823
824 void NavigateComplete2(IDispatch* pDisp, const Variant& url)
825 {
826 String adr = (BStr)url;
827
828 _navigator.navigated(adr);
829 }
830};
831
832
834struct WebChildWindow : public IPCtrlWindow<ChildWindow, SIfacePtr<IWebBrowser2> >,
836{
839
841
843 {
844 ChildWindow* child = ChildWindow::create(info, info._pos.rcNormalPosition,
846
847 return static_cast<WebChildWindow*>(child);
848 }
849
850
851 // DWebBrowserEvents2Impl overides ->
852
853 void BeforeNavigate2(IDispatch* pDisp, const Variant& url, const Variant& flags,
854 const Variant& targetFrameName, const Variant& postData,
855 const Variant& headers, VARIANT_BOOL& cancel)
856 {
857 //String adr = (BStr)url;
858 }
859
860 void NavigateComplete2(IDispatch* pDisp, const Variant& url)
861 {
863
864 set_url(String(BStr(url)));
865 }
866
867 void StatusTextChange(const BStr& text)
868 {
871 }
872
873 void ProgressChange(long Progress, long ProgressMax)
874 {
875 }
876
878 {
879 }
880
882 {
883 }
884
886 {
887 }
888
889 void PropertyChange(const BStr& Property)
890 {
891 Variant value;
892 _control->GetProperty(Property, &value);
893 }
894
895 void CommandStateChange(long command/*CSC_NAVIGATEFORWARD, CSC_NAVIGATEBACK*/, bool enable)
896 {
897 }
898
900 {
901 }
902
903 void NewWindow2(IDispatch** ppDisp, VARIANT_BOOL& cancel)
904 {
905 //*ppDisp = ;
906 //cancel = TRUE;
907 }
908
909 void TitleChange(const BStr& text)
910 {
911 SetWindowText(_hwnd, String(text));
912 }
913
914 void TitleIconChange(const BStr& text)
915 {
916 }
917
918 void FrameBeforeNavigate(const BStr& url, long flags, const BStr& targetFrameName, VARIANT* postData, const BStr& headers, VARIANT_BOOL& cancel)
919 {
920 }
921
922 void FrameNavigateComplete(const BStr& url)
923 {
924 }
925
926 void FrameNewWindow(const BStr& url, long flags, const BStr& targetFrameName, VARIANT* postData, const BStr& headers, VARIANT_BOOL& processed)
927 {
928 }
929
930 void OnQuit()
931 {
932 }
933
934 void OnVisible(bool Visible)
935 {
936 }
937
938 void OnToolbar(bool Visible)
939 {
940 }
941
942 void OnMenubar(bool Visible)
943 {
944 }
945
946 void OnStatusbar(bool Visible)
947 {
948 }
949
950 void OnFullscreen(bool Visible)
951 {
952 }
953
955 {
956 }
957
958 void OnTheatermode(bool Visible)
959 {
960 }
961
962 void OnAddressbar(bool Visible)
963 {
964 }
965
966 void WindowSetResizable(bool Visible)
967 {
968 }
969
970 void WindowClosing(VARIANT_BOOL IsChildWindow, VARIANT_BOOL& cancel)
971 {
972 }
973
974 void WindowSetLeft(long Left)
975 {
976 }
977
978 void WindowSetTop(long Top)
979 {
980 }
981
983 {
984 }
985
987 {
988 }
989
990 void ClientToHostWindow(long& CX, long& CY)
991 {
992 }
993
994 void SetSecureLockIcon(long SecureLockIcon)
995 {
996 }
997
998 void FileDownload(Variant& cancel)
999 {
1000 }
1001
1002 void NavigateError(IDispatch* pDisp, const Variant& url, const Variant& Frame, const Variant& StatusCode, VARIANT_BOOL& cancel)
1003 {
1004 }
1005
1006 void PrivacyImpactedStateChange(bool bImpacted)
1007 {
1008 }
1009
1010
1011protected:
1014
1016
1017 virtual String jump_to_int(LPCTSTR url);
1018};
@ lparam
Definition: SystemMenu.c:31
@ wparam
Definition: SystemMenu.c:30
static LPHIST_ENTRY Top
Definition: history.c:53
#define STDMETHODIMP
Definition: basetyps.h:43
#define STDMETHOD(m)
Definition: basetyps.h:62
const GUID IID_IUnknown
#define STDMETHODCALLTYPE
Definition: bdasup.h:9
cd_progress_ptr progress
Definition: cdjpeg.h:152
static HWND hwndParent
Definition: cryptui.c:300
#define E_INVALIDARG
Definition: ddrawi.h:101
#define E_NOTIMPL
Definition: ddrawi.h:99
#define NULL
Definition: types.h:112
#define FALSE
Definition: types.h:117
static WCHAR unknown[MAX_STRING_RESOURCE_LEN]
Definition: object.c:1605
short VARIANT_BOOL
Definition: compat.h:2290
@ VT_BYREF
Definition: compat.h:2342
@ VT_I4
Definition: compat.h:2298
@ VT_BOOL
Definition: compat.h:2306
@ VT_DISPATCH
Definition: compat.h:2304
#define BASE
Definition: inflate.c:58
const WCHAR * text
Definition: package.c:1799
#define assert(x)
Definition: debug.h:53
#define DISPID_BEFORENAVIGATE2
Definition: exdispid.h:43
#define DISPID_NEWWINDOW2
Definition: exdispid.h:44
#define CLASSNAME_CHILDWND
Definition: explorer.h:75
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned long DWORD
Definition: ntddk_ex.h:95
unsigned short WORD
Definition: ntddk_ex.h:93
GLbitfield flags
Definition: glext.h:7161
GLsizei GLenum GLboolean sink
Definition: glext.h:5672
GLboolean enable
Definition: glext.h:11120
REFIID riid
Definition: atlbase.h:39
REFIID LPVOID * ppv
Definition: atlbase.h:39
HRESULT FindConnectionPoint([in] REFIID riid, [out] IConnectionPoint **ppCP)
HRESULT Unadvise([in] DWORD dwCookie)
HRESULT Advise([in] IUnknown *pUnkSink, [out] DWORD *pdwCookie)
HRESULT SetObjectRects([in] LPCRECT lprcPosRect, [in] LPCRECT lprcClipRect)
HRESULT SetClientSite([in, unique] IOleClientSite *pClientSite)
HRESULT Close([in] DWORD dwSaveOption)
HRESULT DoVerb([in] LONG iVerb, [in, unique] LPMSG lpmsg, [in, unique] IOleClientSite *pActiveSite, [in] LONG lindex, [in] HWND hwndParent, [in, unique] LPCRECT lprcPosRect)
ULONG AddRef()
ULONG Release()
#define S_OK
Definition: intsafe.h:52
#define FAILED(hr)
Definition: intsafe.h:51
#define T
Definition: mbstring.h:31
#define PM_SETSTATUSTEXT
Definition: window.h:340
#define WINDOW_CREATOR_INFO(WND_CLASS, INFO_CLASS)
Definition: window.h:215
static const WCHAR url[]
Definition: encode.c:1432
const char * var
Definition: shader.c:5666
static LPOLESTR
Definition: stg_prop.c:27
static VARIANTARG static DISPID
Definition: ordinal.c:52
static HWND child
Definition: cursoricon.c:298
static unsigned int progressMax
Definition: gui.c:37
REFCLSID clsid
Definition: msctf.c:82
unsigned int UINT
Definition: ndis.h:50
#define OLEIVERB_INPLACEACTIVATE
Definition: ole2.h:43
#define V_BOOLREF(A)
Definition: oleauto.h:225
#define V_VT(A)
Definition: oleauto.h:211
#define V_DISPATCHREF(A)
Definition: oleauto.h:240
#define V_I4REF(A)
Definition: oleauto.h:248
const GUID IID_IOleInPlaceSite
const GUID IID_IConnectionPointContainer
const GUID IID_IOleClientSite
const GUID IID_IOleInPlaceObject
const GUID IID_IOleObject
#define LOWORD(l)
Definition: pedump.c:82
#define WS_MAXIMIZE
Definition: pedump.c:623
long LONG
Definition: pedump.c:60
_Out_opt_ int _Out_opt_ int * cy
Definition: commctrl.h:586
_Out_opt_ int * cx
Definition: commctrl.h:585
#define IsEqualIID(riid1, riid2)
Definition: guiddef.h:95
#define REFIID
Definition: guiddef.h:118
DWORD LCID
Definition: nls.h:13
#define __RPC_FAR
Definition: rpc.h:56
vector< Header * > headers
Definition: sdkparse.cpp:39
#define ANSUNC
Definition: shellclasses.h:60
void CheckError(HRESULT hr)
Definition: shellclasses.h:167
HRESULT hr
Definition: shlfolder.c:183
& rect
Definition: startmenu.cpp:1413
SIfacePtr< IWebBrowser > _browser
Definition: webchild.h:518
String _new_url
Definition: webchild.h:519
IWebBrowser * get_browser()
Definition: webchild.h:515
bool _browser_initialized
Definition: webchild.h:521
void navigated(LPCTSTR url)
Definition: webchild.cpp:133
String _new_html_txt
Definition: webchild.h:520
HWND _hwndFrame
Definition: window.h:331
String _statusText
Definition: window.h:332
void set_url(LPCTSTR url)
Definition: window.cpp:567
static ChildWindow * create(const ChildWndInfo &info, const RECT &rect, CREATORFUNC_INFO creator, LPCTSTR classname, LPCTSTR title=NULL, DWORD style=0)
Definition: window.cpp:369
COM Initialisation.
Definition: shellclasses.h:179
ConnectionPoint(IConnectionPointContainer *pCPC, REFIID riid)
Definition: webchild.h:88
virtual void ClientToHostWindow(long &CX, long &CY)
Definition: webchild.h:487
virtual void DownloadBegin()
Definition: webchild.h:413
virtual void WindowMove()
Definition: webchild.h:395
virtual void OnVisible(bool Visible)
Definition: webchild.h:445
virtual void FrameNewWindow(const BStr &url, long flags, const BStr &targetFrameName, VARIANT *postData, const BStr &headers, VARIANT_BOOL &processed)
Definition: webchild.h:431
virtual void TitleIconChange(const BStr &text)
Definition: webchild.h:422
virtual void FrameNavigateComplete(const BStr &url)
Definition: webchild.h:428
virtual void ProgressChange(long progress, long progressMax)
Definition: webchild.h:392
virtual void WindowClosing(VARIANT_BOOL IsChildWindow, VARIANT_BOOL &cancel)
Definition: webchild.h:472
virtual void OnStatusbar(bool Visible)
Definition: webchild.h:454
virtual void OnToolbar(bool Visible)
Definition: webchild.h:448
virtual void FrameBeforeNavigate(const BStr &url, long flags, const BStr &targetFrameName, VARIANT *postData, const BStr &headers, VARIANT_BOOL &cancel)
Definition: webchild.h:425
virtual void WindowSetHeight(long Height)
Definition: webchild.h:484
virtual void PropertyChange(const BStr &property)
Definition: webchild.h:404
virtual void BeforeNavigate2(IDispatch *pDisp, const Variant &url, const Variant &flags, const Variant &targetFrameName, const Variant &postData, const Variant &headers, VARIANT_BOOL &cancel)
Definition: webchild.h:434
virtual void WindowActivate()
Definition: webchild.h:401
virtual void NewWindow2(IDispatch **ppDisp, VARIANT_BOOL &cancel)
Definition: webchild.h:416
virtual void WindowSetLeft(long Left)
Definition: webchild.h:475
virtual void DownloadComplete()
Definition: webchild.h:407
virtual void OnMenubar(bool Visible)
Definition: webchild.h:451
virtual void DocumentComplete()
Definition: webchild.h:460
virtual void OnQuit()
Definition: webchild.h:442
virtual void FileDownload(Variant &cancel)
Definition: webchild.h:493
virtual void NavigateError(IDispatch *pDisp, const Variant &url, const Variant &Frame, const Variant &StatusCode, VARIANT_BOOL &cancel)
Definition: webchild.h:496
virtual void OnAddressbar(bool Visible)
Definition: webchild.h:466
virtual void TitleChange(const BStr &text)
Definition: webchild.h:419
virtual void NavigateComplete2(IDispatch *pDisp, const Variant &url)
Definition: webchild.h:439
virtual void PrivacyImpactedStateChange(bool bImpacted)
Definition: webchild.h:499
virtual void WindowSetWidth(long Width)
Definition: webchild.h:481
virtual void CommandStateChange(long command, bool enable)
Definition: webchild.h:410
virtual void WindowResize()
Definition: webchild.h:398
virtual void WindowSetResizable(bool Visible)
Definition: webchild.h:469
virtual void OnFullscreen(bool Visible)
Definition: webchild.h:457
virtual void OnTheatermode(bool Visible)
Definition: webchild.h:463
virtual ~DWebBrowserEvents2IF()
Definition: webchild.h:387
virtual void SetSecureLockIcon(long SecureLockIcon)
Definition: webchild.h:490
virtual void StatusTextChange(const BStr &text)
Definition: webchild.h:389
virtual void WindowSetTop(long Top)
Definition: webchild.h:478
DWebBrowserEvents2IF * _callback
Definition: webchild.h:540
BrowserNavigator & _navigator
Definition: webchild.h:822
void NavigateComplete2(IDispatch *pDisp, const Variant &url)
Definition: webchild.h:824
IComSrvBase< FixedDWebBrowserEvents2, DWebBrowserEvents2Impl > super
Definition: webchild.h:537
DWebBrowserEvents2Impl(BrowserNavigator &navigator)
Definition: webchild.h:543
EventConnection(IConnectionPoint *connectionpoint, IUnknown *sink)
Definition: webchild.h:96
EventConnection(T &connectionpoint, IUnknown *sink)
Definition: webchild.h:102
SIfacePtr< IConnectionPoint > _connectionpoint
Definition: webchild.h:127
EventConnector(IUnknown *unknown, REFIID riid, IUnknown *sink)
Definition: webchild.h:133
information structure for creation of FileChildWindow
Definition: filechild.h:31
BASE super
Definition: webchild.h:323
OleInPlaceClient _client_side
Definition: webchild.h:376
LRESULT WndProc(UINT nmsg, WPARAM wparam, LPARAM lparam)
Definition: webchild.h:354
SMARTPTR _control
Definition: webchild.h:375
IPCtrlWindow(HWND hwnd, T &info)
Definition: webchild.h:330
HRESULT create_control(HWND hwnd, REFIID clsid, REFIID riid)
Definition: webchild.h:335
ComInit _usingCOM
Definition: webchild.h:374
SIfacePtr< IOleInPlaceObject > _in_place_object
Definition: webchild.h:377
IPCtrlWindow(HWND hwnd)
Definition: webchild.h:325
virtual HRESULT STDMETHODCALLTYPE OnInPlaceActivate()
Definition: webchild.h:254
virtual HRESULT STDMETHODCALLTYPE GetContainer(IOleContainer __RPC_FAR *__RPC_FAR *ppContainer)
Definition: webchild.h:225
virtual HRESULT STDMETHODCALLTYPE CanInPlaceActivate()
Definition: webchild.h:249
STDMETHODIMP_(ULONG) AddRef()
Definition: webchild.h:195
virtual HRESULT STDMETHODCALLTYPE RequestNewObjectLayout()
Definition: webchild.h:241
virtual HRESULT STDMETHODCALLTYPE ShowObject()
Definition: webchild.h:231
virtual HRESULT STDMETHODCALLTYPE ContextSensitiveHelp(BOOL fEnterMode)
Definition: webchild.h:207
virtual HRESULT STDMETHODCALLTYPE DeactivateAndUndo()
Definition: webchild.h:307
virtual HRESULT STDMETHODCALLTYPE GetWindow(HWND __RPC_FAR *phwnd)
Definition: webchild.h:201
virtual HRESULT STDMETHODCALLTYPE OnShowWindow(BOOL fShow)
Definition: webchild.h:236
void attach(HWND hwnd)
Definition: webchild.h:154
virtual HRESULT STDMETHODCALLTYPE OnInPlaceDeactivate()
Definition: webchild.h:297
STDMETHODIMP QueryInterface(REFIID riid, LPVOID *ppv)
Definition: webchild.h:181
OleInPlaceClient(HWND hwnd=0)
Definition: webchild.h:149
virtual HRESULT STDMETHODCALLTYPE GetWindowContext(IOleInPlaceFrame __RPC_FAR *__RPC_FAR *ppFrame, IOleInPlaceUIWindow __RPC_FAR *__RPC_FAR *ppDoc, LPRECT lprcPosRect, LPRECT lprcClipRect, LPOLEINPLACEFRAMEINFO lpFrameInfo)
Definition: webchild.h:264
virtual HRESULT STDMETHODCALLTYPE SaveObject()
Definition: webchild.h:215
HRESULT detach(IOleObject *ole_obj, DWORD dwSaveOption=OLECLOSE_SAVEIFDIRTY)
Definition: webchild.h:172
STDMETHODIMP_(ULONG) Release()
Definition: webchild.h:196
virtual HRESULT STDMETHODCALLTYPE OnUIDeactivate(BOOL fUndoable)
Definition: webchild.h:292
virtual HRESULT STDMETHODCALLTYPE OnPosRectChange(LPCRECT lprcPosRect)
Definition: webchild.h:312
virtual HRESULT STDMETHODCALLTYPE OnUIActivate()
Definition: webchild.h:259
virtual HRESULT STDMETHODCALLTYPE Scroll(SIZE scrollExtant)
Definition: webchild.h:287
virtual HRESULT STDMETHODCALLTYPE GetMoniker(DWORD dwAssign, DWORD dwWhichMoniker, IMoniker __RPC_FAR *__RPC_FAR *ppmk)
Definition: webchild.h:220
virtual HRESULT STDMETHODCALLTYPE DiscardUndoState()
Definition: webchild.h:302
HRESULT attach_control(IOleObject *ole_obj, LONG iVerb=OLEIVERB_INPLACEACTIVATE, HWND hwndParent=0, LPCRECT pRect=NULL)
Definition: webchild.h:159
wrapper class for COM interface pointers
Definition: shellclasses.h:333
encapsulation of Web control in MDI child windows
Definition: webchild.h:836
void CommandStateChange(long command, bool enable)
Definition: webchild.h:895
void StatusTextChange(const BStr &text)
Definition: webchild.h:867
void WindowSetTop(long Top)
Definition: webchild.h:978
void WindowMove()
Definition: webchild.h:877
IPCtrlWindow< ChildWindow, SIfacePtr< IWebBrowser2 > > super
Definition: webchild.h:837
void WindowActivate()
Definition: webchild.h:885
void WindowClosing(VARIANT_BOOL IsChildWindow, VARIANT_BOOL &cancel)
Definition: webchild.h:970
void OnTheatermode(bool Visible)
Definition: webchild.h:958
void BeforeNavigate2(IDispatch *pDisp, const Variant &url, const Variant &flags, const Variant &targetFrameName, const Variant &postData, const Variant &headers, VARIANT_BOOL &cancel)
Definition: webchild.h:853
void FileDownload(Variant &cancel)
Definition: webchild.h:998
void ProgressChange(long Progress, long ProgressMax)
Definition: webchild.h:873
void WindowResize()
Definition: webchild.h:881
void OnStatusbar(bool Visible)
Definition: webchild.h:946
void PrivacyImpactedStateChange(bool bImpacted)
Definition: webchild.h:1006
LRESULT WndProc(UINT nmsg, WPARAM wparam, LPARAM lparam)
Definition: webchild.cpp:210
void WindowSetWidth(long Width)
Definition: webchild.h:982
virtual String jump_to_int(LPCTSTR url)
Definition: webchild.cpp:284
BrowserNavigator _navigator
Definition: webchild.h:1012
void OnAddressbar(bool Visible)
Definition: webchild.h:962
void ClientToHostWindow(long &CX, long &CY)
Definition: webchild.h:990
void FrameNewWindow(const BStr &url, long flags, const BStr &targetFrameName, VARIANT *postData, const BStr &headers, VARIANT_BOOL &processed)
Definition: webchild.h:926
void SetSecureLockIcon(long SecureLockIcon)
Definition: webchild.h:994
void OnMenubar(bool Visible)
Definition: webchild.h:942
DWebBrowserEvents2Impl web_super
Definition: webchild.h:838
void PropertyChange(const BStr &Property)
Definition: webchild.h:889
void TitleIconChange(const BStr &text)
Definition: webchild.h:914
void FrameNavigateComplete(const BStr &url)
Definition: webchild.h:922
void FrameBeforeNavigate(const BStr &url, long flags, const BStr &targetFrameName, VARIANT *postData, const BStr &headers, VARIANT_BOOL &cancel)
Definition: webchild.h:918
void OnQuit()
Definition: webchild.h:930
void NavigateComplete2(IDispatch *pDisp, const Variant &url)
Definition: webchild.h:860
void OnFullscreen(bool Visible)
Definition: webchild.h:950
void TitleChange(const BStr &text)
Definition: webchild.h:909
void WindowSetHeight(long Height)
Definition: webchild.h:986
static WebChildWindow * create(const FileChildWndInfo &info)
Definition: webchild.h:842
void OnToolbar(bool Visible)
Definition: webchild.h:938
void WindowSetResizable(bool Visible)
Definition: webchild.h:966
void DownloadBegin()
Definition: webchild.h:899
void DocumentComplete()
Definition: webchild.h:954
void OnVisible(bool Visible)
Definition: webchild.h:934
void NewWindow2(IDispatch **ppDisp, VARIANT_BOOL &cancel)
Definition: webchild.h:903
void WindowSetLeft(long Left)
Definition: webchild.h:974
auto_ptr< EventConnector > _connector
Definition: webchild.h:1013
void NavigateError(IDispatch *pDisp, const Variant &url, const Variant &Frame, const Variant &StatusCode, VARIANT_BOOL &cancel)
Definition: webchild.h:1002
information structure for creation of WebChildWindow
Definition: filechild.h:80
uint32_t ULONG
Definition: typedefs.h:59
#define HIWORD(l)
Definition: typedefs.h:247
static int processed(const type_t *type)
Definition: typegen.c:2254
Definition: compat.h:2255
Definition: pdh_main.c:94
_In_ HFONT _Out_ PUINT _Out_ PUINT Width
Definition: font.h:89
_In_ HFONT _Out_ PUINT Height
Definition: font.h:88
_Must_inspect_result_ _In_ WDFDEVICE _In_ WDFSTRING String
Definition: wdfdevice.h:2433
#define DISPID_ONQUIT
Definition: webchild.h:55
#define DISPID_ONSTATUSBAR
Definition: webchild.h:59
#define DISPID_ONTOOLBAR
Definition: webchild.h:57
#define DISPID_ONADDRESSBAR
Definition: webchild.h:63
#define DISPID_WINDOWSETRESIZABLE
Definition: webchild.h:64
#define DISPID_SETSECURELOCKICON
Definition: webchild.h:71
#define DISPID_PRIVACYIMPACTEDSTATECHANGE
Definition: webchild.h:74
#define DISPID_WINDOWACTIVATE
Definition: webchild.h:46
#define DISPID_ONFULLSCREEN
Definition: webchild.h:60
#define DISPID_ONVISIBLE
Definition: webchild.h:56
#define DISPID_WINDOWRESIZE
Definition: webchild.h:45
#define DISPID_TITLEICONCHANGE
Definition: webchild.h:49
#define DISPID_NAVIGATECOMPLETE2
Definition: webchild.h:54
#define DISPID_FILEDOWNLOAD
Definition: webchild.h:72
#define DISPID_ONMENUBAR
Definition: webchild.h:58
#define DISPID_FRAMENAVIGATECOMPLETE
Definition: webchild.h:51
#define DISPID_CLIENTTOHOSTWINDOW
Definition: webchild.h:70
#define DISPID_TITLECHANGE
Definition: webchild.h:48
#define DISPID_COMMANDSTATECHANGE
Definition: webchild.h:40
#define DISPID_WINDOWSETLEFT
Definition: webchild.h:66
#define DISPID_NAVIGATEERROR
Definition: webchild.h:73
#define DISPID_WINDOWSETWIDTH
Definition: webchild.h:68
#define DISPID_DOWNLOADCOMPLETE
Definition: webchild.h:39
#define DISPID_PROGRESSCHANGE
Definition: webchild.h:43
#define DISPID_WINDOWCLOSING
Definition: webchild.h:65
#define DISPID_FRAMEBEFORENAVIGATE
Definition: webchild.h:50
#define DISPID_DOWNLOADBEGIN
Definition: webchild.h:41
#define DISPID_FRAMENEWWINDOW
Definition: webchild.h:52
#define DISPID_WINDOWSETHEIGHT
Definition: webchild.h:69
#define DISPID_STATUSTEXTCHANGE
Definition: webchild.h:37
#define DISPID_DOCUMENTCOMPLETE
Definition: webchild.h:61
#define DISPID_WINDOWSETTOP
Definition: webchild.h:67
#define DISPID_ONTHEATERMODE
Definition: webchild.h:62
#define DISPID_PROPERTYCHANGE
Definition: webchild.h:47
#define DISPID_WINDOWMOVE
Definition: webchild.h:44
_In_ DWORD _Out_ _In_ WORD wFlags
Definition: wincon.h:531
_In_ LONG _In_ HWND hwnd
Definition: winddi.h:4023
LONG_PTR LPARAM
Definition: windef.h:208
LONG_PTR LRESULT
Definition: windef.h:209
UINT_PTR WPARAM
Definition: windef.h:207
#define E_NOINTERFACE
Definition: winerror.h:2364
#define NOERROR
Definition: winerror.h:2354
#define SW_SHOWMAXIMIZED
Definition: winuser.h:773
#define WM_CLOSE
Definition: winuser.h:1621
#define WM_SIZE
Definition: winuser.h:1611
#define SendMessage
Definition: winuser.h:5843
#define SetWindowText
Definition: winuser.h:5857
const CHAR * LPCTSTR
Definition: xmlstorage.h:193