WebBrowserEventHandler.h 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156
  1. #pragma once
  2. #include <ExDisp.h>
  3. #include <ExDispid.h>
  4. #include <mshtmhst.h>
  5. namespace DuiLib
  6. {
  7. class CWebBrowserEventHandler
  8. {
  9. public:
  10. CWebBrowserEventHandler() {}
  11. ~CWebBrowserEventHandler() {}
  12. virtual void BeforeNavigate2( IDispatch *pDisp,VARIANT *&url,VARIANT *&Flags,VARIANT *&TargetFrameName,VARIANT *&PostData,VARIANT *&Headers,VARIANT_BOOL *&Cancel ) {}
  13. virtual void NavigateError(IDispatch *pDisp,VARIANT * &url,VARIANT *&TargetFrameName,VARIANT *&StatusCode,VARIANT_BOOL *&Cancel) {}
  14. virtual void NavigateComplete2(IDispatch *pDisp,VARIANT *&url){}
  15. virtual void DocumentComplete(IDispatch *pDisp,VARIANT *&url) {}
  16. virtual void ProgressChange(LONG nProgress, LONG nProgressMax){}
  17. virtual void NewWindow3(IDispatch **pDisp, VARIANT_BOOL *&Cancel, DWORD dwFlags, BSTR bstrUrlContext, BSTR bstrUrl){}
  18. virtual void CommandStateChange(long Command,VARIANT_BOOL Enable){};
  19. // interface IDocHostUIHandler
  20. virtual HRESULT STDMETHODCALLTYPE ShowContextMenu(
  21. /* [in] */ DWORD dwID,
  22. /* [in] */ POINT __RPC_FAR *ppt,
  23. /* [in] */ IUnknown __RPC_FAR *pcmdtReserved,
  24. /* [in] */ IDispatch __RPC_FAR *pdispReserved)
  25. {
  26. //return E_NOTIMPL;
  27. //返回 E_NOTIMPL 正常弹出系统右键菜单
  28. return S_OK;
  29. //返回S_OK 则可屏蔽系统右键菜单
  30. }
  31. virtual HRESULT STDMETHODCALLTYPE GetHostInfo(
  32. /* [out][in] */ DOCHOSTUIINFO __RPC_FAR *pInfo)
  33. {
  34. // if (pInfo != NULL)
  35. // {
  36. // pInfo->dwFlags |= DOCHOSTUIFLAG_NO3DBORDER;
  37. // }
  38. return S_OK;
  39. }
  40. virtual HRESULT STDMETHODCALLTYPE ShowUI(
  41. /* [in] */ DWORD dwID,
  42. /* [in] */ IOleInPlaceActiveObject __RPC_FAR *pActiveObject,
  43. /* [in] */ IOleCommandTarget __RPC_FAR *pCommandTarget,
  44. /* [in] */ IOleInPlaceFrame __RPC_FAR *pFrame,
  45. /* [in] */ IOleInPlaceUIWindow __RPC_FAR *pDoc)
  46. {
  47. return S_FALSE;
  48. }
  49. virtual HRESULT STDMETHODCALLTYPE HideUI( void)
  50. {
  51. return S_OK;
  52. }
  53. virtual HRESULT STDMETHODCALLTYPE UpdateUI( void)
  54. {
  55. return S_OK;
  56. }
  57. virtual HRESULT STDMETHODCALLTYPE EnableModeless(
  58. /* [in] */ BOOL fEnable)
  59. {
  60. return S_OK;
  61. }
  62. virtual HRESULT STDMETHODCALLTYPE OnDocWindowActivate(
  63. /* [in] */ BOOL fActivate)
  64. {
  65. return S_OK;
  66. }
  67. virtual HRESULT STDMETHODCALLTYPE OnFrameWindowActivate(
  68. /* [in] */ BOOL fActivate)
  69. {
  70. return S_OK;
  71. }
  72. virtual HRESULT STDMETHODCALLTYPE ResizeBorder(
  73. /* [in] */ LPCRECT prcBorder,
  74. /* [in] */ IOleInPlaceUIWindow __RPC_FAR *pUIWindow,
  75. /* [in] */ BOOL fRameWindow)
  76. {
  77. return S_OK;
  78. }
  79. virtual HRESULT STDMETHODCALLTYPE TranslateAccelerator(
  80. /* [in] */ LPMSG lpMsg,
  81. /* [in] */ const GUID __RPC_FAR *pguidCmdGroup,
  82. /* [in] */ DWORD nCmdID)
  83. {
  84. return S_FALSE;
  85. }
  86. virtual HRESULT STDMETHODCALLTYPE GetOptionKeyPath(
  87. /* [out] */ LPOLESTR __RPC_FAR *pchKey,
  88. /* [in] */ DWORD dw)
  89. {
  90. return S_OK;
  91. }
  92. virtual HRESULT STDMETHODCALLTYPE GetDropTarget(
  93. /* [in] */ IDropTarget __RPC_FAR *pDropTarget,
  94. /* [out] */ IDropTarget __RPC_FAR *__RPC_FAR *ppDropTarget)
  95. {
  96. return E_NOTIMPL;
  97. }
  98. virtual HRESULT STDMETHODCALLTYPE GetExternal(
  99. /* [out] */ IDispatch __RPC_FAR *__RPC_FAR *ppDispatch)
  100. {
  101. return E_NOTIMPL;
  102. }
  103. virtual HRESULT STDMETHODCALLTYPE TranslateUrl(
  104. /* [in] */ DWORD dwTranslate,
  105. /* [in] */ OLECHAR __RPC_FAR *pchURLIn,
  106. /* [out] */ OLECHAR __RPC_FAR *__RPC_FAR *ppchURLOut)
  107. {
  108. return S_OK;
  109. }
  110. virtual HRESULT STDMETHODCALLTYPE FilterDataObject(
  111. /* [in] */ IDataObject __RPC_FAR *pDO,
  112. /* [out] */ IDataObject __RPC_FAR *__RPC_FAR *ppDORet)
  113. {
  114. return S_OK;
  115. }
  116. // virtual HRESULT STDMETHODCALLTYPE GetOverrideKeyPath(
  117. // /* [annotation][out] */
  118. // __deref_out LPOLESTR *pchKey,
  119. // /* [in] */ DWORD dw)
  120. // {
  121. // return E_NOTIMPL;
  122. // }
  123. // IDownloadManager
  124. virtual HRESULT STDMETHODCALLTYPE Download(
  125. /* [in] */ IMoniker *pmk,
  126. /* [in] */ IBindCtx *pbc,
  127. /* [in] */ DWORD dwBindVerb,
  128. /* [in] */ LONG grfBINDF,
  129. /* [in] */ BINDINFO *pBindInfo,
  130. /* [in] */ LPCOLESTR pszHeaders,
  131. /* [in] */ LPCOLESTR pszRedir,
  132. /* [in] */ UINT uiCP)
  133. {
  134. return S_OK;
  135. }
  136. };
  137. }