在MFC中捕获CWebBrowser控件的事件
来源:互联网 发布:算法必须有输出 编辑:程序博客网 时间:2024/05/17 02:04
在很多时候可能要用到CWebBrowser控件,但是CWebBrowser并不像CHtmlView一样继承一下然后重载下虚函数就可以获取IE中的事件,而CWebBrowser却没有提供这样的功能,但是可以自已进行处理,下面来看下MFC的代码:
1.首先定义一个CWebBrower成员对象,然后在窗口初始化事件中创建CWebBrower对象.
- BOOL CMyDlg::OnInitDialog()
- {
- CDialog::OnInitDialog();
- //创建控件
- m_BrowserShow.Create(NULL,WS_CHILD|WS_VISIBLE,rect,this,AFX_IDC_BROWSER);
- //开启OLE自动化
- EnableAutomation();
- //设置事件接口
- LPUNKNOWN pUnkSink = GetIDispatch(FALSE);
- AfxConnectionAdvise((LPUNKNOWN)m_BrowserShow.get_Application(),
- DIID_DWebBrowserEvents2, pUnkSink, FALSE, &m_dwCookie);
- return TRUE;
- }
2.第二步是对你感兴趣的事件进行映射
- //注意要在头文件中申明映射宏DECLARE_EVENTSINK_MAP()就像MFC的消息映射一样
- //在源文件中进行事件映射
- BEGIN_EVENTSINK_MAP(CMyDlg,CDialog)
- ON_EVENT(CDialog,AFX_IDC_BROWSER,252,OnNavigateComplete2, VTS_DISPATCH VTS_PVARIANT)
- END_EVENTSINK_MAP()
- void CMyDlg::OnNavigateComplete2(LPDISPATCH pDisp, VARIANT FAR* vtURL)
- {
- }
OK,以上代码已经完成了对CWebBrower控件的事件捕获了!
原文地址:http://blog.csdn.net/mynamelj/article/details/6343032
0 0
- 在MFC中捕获CWebBrowser控件的事件
- 在MFC中捕获CWebBrowser控件的事件
- 在MFC中捕获CWebBrowser控件的事件
- 【框架-MFC】MFC 在捕获控件外(窗口外)鼠标事件
- 在ios编程中 对 UIWebView 的控件捕获 click事件
- CWebBrowser 中处理回车相应的问题
- CWebBrowser 中处理回车相应的问题
- 在BindingSource组件的事件中捕获异常的注意事项
- (转)在MFC中动态创建控件以及事件响应
- 在MFC中动态创建控件以及事件响应
- 在MFC中动态创建控件以及事件响应
- 在MFC中动态创建控件以及事件响应
- 在MFC中动态创建控件以及事件响应
- 在MFC中动态创建控件以及事件响应
- 在MFC中动态创建控件以及事件响应
- 在MFC中动态创建控件以及事件响应
- MFC在VS2008中对ActiveX控件添加事件
- 在MFC中动态创建控件以及事件响应
- 累了,中场休息
- CentOS 环境下搭建svn服务器
- debian7下eclipse4.4无法启动
- git clone "error: RPC failed; result=18, HTTP code = 200 "
- 面向对象的认识----类的转化
- 在MFC中捕获CWebBrowser控件的事件
- Hadoop HA(高可用)配置
- 慎用CCARRAY_FOREACH
- 进程和线程的区别
- Java中JOptionPane的用法
- 黑马程序员——数组
- 《思考的乐趣》读书笔记
- 在MFC应用中深入定制WebBrowser控件
- 软考——(2)数据结构