佚名通过本文主要向大家介绍了dwebbrowserevents2,自定义菜单接口权限,自定义菜单创建接口,android 自定义接口,自定义接口回复等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 实现DWebBrowserEvents2接口使用自定义类CMyWebBrwoser2Event
描述:
实现
描述:
声明
#include <Exdisp.h>
struct CMyWebBrwoser2Event
: public DWebBrowserEvents2
{
// IUnknown
STDMETHODIMP QueryInterface(REFIID riid,void ** ppvObject);
STDMETHODIMP_(ULONG) AddRef(void);
STDMETHODIMP_(ULONG) Release(void);
virtual void BeforeNavigate2( IDispatch *pDisp,VARIANT *url,VARIANT *Flags,VARIANT *TargetFrameName,VARIANT *PostData,VARIANT *Headers,VARIANT_BOOL *Cancel);
virtual void DocumentComplete( IDispatch *pDisp,VARIANT *URL );
virtual void ClientToHostWindow( long *CX,long *CY );
virtual void CommandStateChange( long Command,VARIANT_BOOL Enable );
virtual void DownloadBegin(VOID);
virtual void DownloadComplete(VOID);
virtual void FileDownload(VARIANT_BOOL ActiveDocument,VARIANT_BOOL *Cancel);
virtual void NavigateComplete2(IDispatch *pDisp,VARIANT *URL);
virtual void NavigateError( IDispatch *pDisp,VARIANT *URL,VARIANT *TargetFrameName, VARIANT *StatusCode,VARIANT_BOOL *Cancel);
virtual void NewProcess(long lCauseFlag,IDispatch *pWB2,VARIANT_BOOL *Cancel);
virtual void NewWindow2(IDispatch **ppDisp,VARIANT_BOOL *Cancel);
virtual void NewWindow3(IDispatch **ppDisp,VARIANT_BOOL *Cancel,DWORD dwFlags,BSTR bstrUrlContext,BSTR bstrUrl);
virtual void OnFullScreen(VARIANT_BOOL FullScreen);
virtual void OnMenuBar(VARIANT_BOOL MenuBar);
virtual void OnQuit(VOID);
virtual void OnStatusBar(VARIANT_BOOL StatusBar );
virtual void OnTheaterMode(VARIANT_BOOL TheaterMode);
virtual void OnToolBar(VARIANT_BOOL ToolBar);
virtual void OnVisible(VARIANT_BOOL Visible);
virtual void PrintTemplateInstantiation(IDispatch *pDisp);
virtual void PrintTemplateTeardown(IDispatch *pDisp);
virtual void PrivacyImpactedStateChange(boolean PrivacyImpacted);
virtual void ProgressChange(long Progress,long ProgressMax);
virtual void PropertyChange(BSTR szProperty);
virtual void RedirectXDomainBlocked(IDispatch *pDisp,VARIANT *StartURL,VARIANT *RedirectURL,VARIANT *Frame,VARIANT *StatusCode);
virtual void SetPhishingFilterStatus(long PhishingFilterStatus);
virtual void SetSecureLockIcon(SecureLockIconConstants);//typedef enum SecureLockIconConstants
virtual void StatusTextChange( BSTR Text);
virtual void ThirdPartyUrlBlocked(VARIANT *URL,DWORD dwCount);
virtual void TitleChange(BSTR Text);
virtual void WindowClosing(VARIANT_BOOL IsChildWindow,VARIANT_BOOL *Cancel);
virtual void WindowSetHeight(long Height);
virtual void WindowSetLeft( long Left);
virtual void WindowSetResizable(VARIANT_BOOL Resizable);
virtual void WindowSetTop(long Top);
virtual void WindowSetWidth(long Width);
virtual void WindowStateChanged(DWORD dwFlags, DWORD dwValidFlagsMask);
};
实现
STDMETHODIMP CMyWebBrwoser2Event::QueryInterface(REFIID riid,void ** ppvObject)
{
NOTIMPLEMENTED;
}
STDMETHODIMP_(ULONG) CMyWebBrwoser2Event::AddRef(void)
{
return 1;
}
STDMETHODIMP_(ULONG) CMyWebBrwoser2Event::Release(void)
{
return 1;
}
void CMyWebBrwoser2Event::BeforeNavigate2(IDispatch *pDisp, VARIANT *url, VARIANT *Flags, VARIANT *TargetFrameName, VARIANT *PostData, VARIANT *Headers, VARIANT_BOOL *Cancel){return;}
void CMyWebBrwoser2Event::DocumentComplete( IDispatch *pDisp,VARIANT *URL ){return;}
void CMyWebBrwoser2Event::ClientToHostWindow( long *CX,long *CY ){return;}
void CMyWebBrwoser2Event::CommandStateChange( long Command,VARIANT_BOOL Enable ){return;}
void CMyWebBrwoser2Event::DownloadBegin(VOID){return;}
void CMyWebBrwoser2Event::DownloadComplete(VOID){return;}
void CMyWebBrwoser2Event::FileDownload(VARIANT_BOOL ActiveDocument,VARIANT_BOOL *Cancel){return;}
void CMyWebBrwoser2Event::NavigateComplete2(IDispatch *pDisp,VARIANT *URL){return;}
void CMyWebBrwoser2Event::NavigateError( IDispatch *pDisp,VARIANT *URL,VARIANT *TargetFrameName, VARIANT *StatusCode,VARIANT_BOOL *Cancel){return;}
void CMyWebBrwoser2Event::NewProcess(long lCauseFlag,IDispatch *pWB2,VARIANT_BOOL *Cancel){return;}
void CMyWebBrwoser2Event::NewWindow2(IDispatch **ppDisp,VARIANT_BOOL *Cancel){return;}
void CMyWebBrwoser2Event::NewWindow3(IDispatch **ppDisp,VARIANT_BOOL *Cancel,DWORD dwFlags,BSTR bstrUrlContext,BSTR bstrUrl){return;}
void CMyWebBrwoser2Event::OnFullScreen(VARIANT_BOOL FullScreen){return;}
void CMyWebBrwoser2Event::OnMenuBar(VARIANT_BOOL MenuBar){return;}
void CMyWebBrwoser2Event::OnQuit(VOID){return;}
void CMyWebBrwoser2Event::OnStatusBar(VARIANT_BOOL StatusBar ){return;}
void CMyWebBrwoser2Event::OnTheaterMode(VARIANT_BOOL TheaterMode){return;}
void CMyWebBrwoser2Event::OnToolBar(VARIANT_BOOL ToolBar){return;}
void CMyWebBrwoser2Event::OnVisible(VARIANT_BOOL Visible){return;}
void CMyWebBrwoser2Event::PrintTemplateInstantiation(IDispatch *pDisp){return;}
void CMyWebBrwoser2Event::PrintTemplateTeardown(IDispatch *pDisp){return;}
void CMyWebBrwoser2Event::PrivacyImpactedStateChange(boolean PrivacyImpacted){return;}
void CMyWebBrwoser2Event::ProgressChange(long Progress,long ProgressMax){return;}
void CMyWebBrwoser2Event::PropertyChange(BSTR szProperty){return;}
void CMyWebBrwoser2Event::RedirectXDomainBlocked(IDispatch *pDisp,VARIANT *StartURL,VARIANT *RedirectURL,VARIANT *Frame,VARIANT *StatusCode){return;}
void CMyWebBrwoser2Event::SetPhishingFilterStatus(long PhishingFilterStatus){return;}
void CMyWebBrwoser2Event::SetSecureLockIcon(SecureLockIconConstants){return;}//typedef enum SecureLockIconConstants
void CMyWebBrwoser2Event::StatusTextChange( BSTR Text){return;}
void CMyWebBrwoser2Event::ThirdPartyUrlBlocked(VARIANT *URL,DWORD dwCount){return
您可能想查找下面的文章:
- 如何在ATL中处理DWebBrowserEvents2的事件?
- DWebBrowserEvents2导致IWebBrowser2::Navigate无效?
- DWebBrowserEvents2监听不到任何消息,不如BeforeNavigate2
- 200元现金求助,挂接浏览器事件DWebBrowserEvents2会造成IE卡死
- 如何在DWebBrowserEvents2派生的类中获得IHTMLDocument2接口指针?
- 继承DWebBrowserEvents2,IWebBrowser2控件窗口类如何得到Javascript事件,执行Javascript事件
- 实现DWebBrowserEvents2接口使用自定义类CMyWebBrwoser2Event