如何为webbrowser中弹出的模态网页对话框添加自动化方法?
我用CDHtmlDialog做基类,做了一个简单浏览器,通过以下几步,添加了自动化方法MyFunc
///////////////////////////////////////////1、类声明文件中添加DECLARE_DISPATCH_MAP()添加响应函数声明,如void MyFunc(char* sURL);重载CanAccessExternalvirtual BOOL CanAccessExternal();2、构造函数添加EnableAutomation();初始化添加SetExternalDispatch(GetIDispatch(TRUE));消息映射添加BEGIN_DISPATCH_MAP(CDlgIE, CDHtmlDialog) //弹出窗口接口 DISP_FUNCTION(CDlgIETooltip, "MyFunc", MyFunc, VT_EMPTY, VTS_BSTR) // example: // DISP_FUNCTION(CMyDHTMLDialog,"Func2",TestFunc,VT_BOOL,VTS_BSTR VTS_I4 VTS_I4) // ^return, ^parameters type listEND_DISPATCH_MAP()实现CanAccessExternal重载BOOL CDlgIE::CanAccessExternal(){ return TRUE;}最后实现响应函数MyFunc////////////////////////////////////////////////////////////////////