在MFC中捕获CWebBrowser控件的事件

程序员通勤双肩包,下单送全年 CSDN 会员 防泼水面料电脑包,保护笔记本电脑,背负轻便,下单再赠 Coding Plan,看技术干货、查文档、下载源码,一站式搞定学习需求 阅读详情

在很多时候可能要用到CWebBrowser控件,但是CWebBrowser并不像CHtmlView一样继承一下然后重载下虚函数就可以获取IE中的事件,而CWebBrowser却没有提供这样的功能,但是可以自已进行处理,下面来看下MFC的代码:

 

1.首先定义一个CWebBrower成员对象,然后在窗口初始化事件中创建CWebBrower对象.

[cpp]  view plain copy
  1. BOOL CMyDlg::OnInitDialog()  
  2. {  
  3.    CDialog::OnInitDialog();  
  4.    //创建控件  
  5.    m_BrowserShow.Create(NULL,WS_CHILD|WS_VISIBLE,rect,this,AFX_IDC_BROWSER);  
  6.   
  7.    //开启OLE自动化  
  8.    EnableAutomation();  
  9.   
  10.    //设置事件接口  
  11.    LPUNKNOWN pUnkSink = GetIDispatch(FALSE);  
  12.    AfxConnectionAdvise((LPUNKNOWN)m_BrowserShow.get_Application(),   
  13.         DIID_DWebBrowserEvents2, pUnkSink, FALSE, &m_dwCookie);  
  14.      
  15.    return TRUE;  
  16. }  

 

2.第二步是对你感兴趣的事件进行映射

[c-sharp]  view plain copy
  1. //注意要在头文件中申明映射宏DECLARE_EVENTSINK_MAP()就像MFC的消息映射一样  
  2.   
  3. //在源文件中进行事件映射  
  4. BEGIN_EVENTSINK_MAP(CMyDlg,CDialog)  
  5.     ON_EVENT(CDialog,AFX_IDC_BROWSER,252,OnNavigateComplete2, VTS_DISPATCH VTS_PVARIANT)  
  6. END_EVENTSINK_MAP()  
  7.   
  8. void CMyDlg::OnNavigateComplete2(LPDISPATCH pDisp, VARIANT FAR* vtURL)  
  9. {  
  10. }  

 

OK,以上代码已经完成了对CWebBrower控件的事件捕获了!


原文地址:http://blog.csdn.net/mynamelj/article/details/6343032

CWebBrowser 中处理回车相应的问题 Q:我做了一个mfc程序,其中视图是继承自 CFormView,在 CFormView上呢放置了一个WebBrowser控件,用来显示一个html文件,我在视图的成员函数OnInitialUpdate()中写了如下代码:其中CWebBrowser2 m_htmlShow; 运行程序的时候,出现了上述网页, 我想问的是, 本来这个网页里有一个编辑框,供用户输入数据使用,没有集成在我的程序的时 阅读详情

相关推荐

MFC集成WebBrowser控件的实例教程

本文还有配套的精品资源,点击获取 简介:本文提供了如何在MFC应用程序中集成WebBrowser控件的详细步骤,该控件利用ActiveX技术实现内嵌IE浏览器引擎功能。读者将学习如何创建对话框、处理控件事件,并添加导航功能以实现网页浏览。示例工程将涵盖控件添加、事件处理、地址栏实现以及前进后退功能的实现,为开发者提供了构建自定义网页查看器的完整指南。 1. MFC框架...

weixin_36364707的博客 1727

MFC中用CHtmlView作的浏览器

本例子是用MFC制作一个自己的浏览器,通过这个例子可以对CHtmlView近一步的理解。希望对大家有些帮助!!

MFC中嵌入Google地图并实现交互的技术详解

ActiveX控件是一种基于COM(Component Object Model)技术的可重用组件,广泛用于Windows平台的应用程序开发中。MFC框架对ActiveX控件提供了良好的支持,开发者可以将这些控件嵌入到MFC应用程序中,从而扩展其功能并增强用户交互体验。本章详细讲解了 Google Maps API 的接入流程、HTML 页面的地图初始化方法,以及如何在 MFC 中通过 CWebBrowser2 控件加载地图页面。同时,提供了地图调试和性能优化的实用技巧。

weixin_42509507的博客 1030

VC++实现WebBrowser控件中获取鼠标点击事件和超链接

用一个基本窗口MFC程序实现WebBrowser控件对指定网页页面的加载、展示、点击事件响应,以及实现对鼠标在页面中点击标签事件捕获,并且返回标签的超链接。 在VS2010环境下编译通过。

C++ MFC WebBrowser 探索(一)

为什么80%的码农都做不了架构师?>>> ...

weixin_34110749的博客 1070

类内实现MFC/VC shdocvw IWebbrowser2的OnDocumentComplete等事件响应

void CWebMethod::OnDocumentCompleteExplorer1(LPDISPATCH pDisp, VARIANT* URL) 经过多次测试,本函数并非主框架的完成最后一次调用.比如http://www.taobao.com如果有cookies被保存 主框架可能第二个就完成 然后这个函数还会被回调两次. 多数如果无cookies的时候,都是在最后一次或者倒数第二次的

Afterwards_的专栏 2235

CHTMLView(简单浏览器)设计

CHTMLView(简单浏览器)设计,输入网站,访问,刷新,停止返回

MFC的DLL库工程中使用CWebBrowser2控件

我在MFC的DLL工程中的一个dialog对话框中添加、调用CWebBrowser2的active控件时,发现动态创建dialog界面时一直会导致崩溃,dialog一直创建失败会,BOOL bCreate =  m_mapDlg->Create(CMapDlg::IDD,this);  此调用会一直返回0。始终没找到原因,后来发现是我的工程在创建工程向导时,没有添加active控件支持导致的...

qing666888的专栏 2701

MFC程序添加Web浏览器控件(IE控件)

MFC程序添加Web浏览器控件(IE控件)       1. 新建一个基于对话框的MFC程序   这里使用VS2010建立一个MFC Application,种类选择基于对话框Dialog based。     2. 添加Web浏览器控件   2.1   在Toolbox对话框中任意地方右键选则 Choose Items… 。   2.2 弹出的Choose Toolbo

TechTiger的博客 1万+

MFC中通过webbrowser控件操作网页。

这是一个通过webbrowser打开百度并控制搜索内容的MFC小项目。其它网页控制大同小异,可以做为参考。VS2015项目。

MFC WebBrowser

动态控件是指在需要时由Create 创建的控件

MFC中使用CWebBrowser2

1.加入CWebBrowser控件,建立关联变量 2.头文件包含 #include //atlbase.h atlconv.h 这2个文件在VC98/ATL下 #include "atlconv.h" #include "mshtml.h" //mshtml.h 在VC98/include下(VC6只能用1998年的这个版本) 3.获取网页源码: CStrin

少年乖 4362

MFC IE控件修改网页链接打开方式

很多应用程序内嵌IE来加载网页,使用MFCCWebBrowser2自动生成的控件,自动生成的IE控件的代码基本不可读,函数调用都是这种:void GoBack() { InvokeHelper(0x64, DISPATCH_METHOD, VT_EMPTY, NULL, NULL); } void GoForward() { InvokeHelper(0x65, DISPATCH

日线记录 768

CWebBrowser2去除边框、滚动条、右键菜单

百度了一下,原来有sample的,参见:http://www.microsoft.com/en-us/download/details.aspx?id=944#filelist 自己总结了一下 添加CWebBrowser2类 右键项目-〉Add-〉Class...-〉MFC-〉MFC Class From ActiveX Control 在Available ActiveX control

信箱神、得引擎 7511

MFC对话框中实现网页显示功能详解

MFC(Microsoft Foundation Classes)是一套基于C++的面向对象类库,封装了Windows API,极大地简化了Windows桌面应用程序的开发流程。其核心架构围绕文档/视图模型、消息映射机制和UI组件封装展开,适用于中大型原生应用开发。ActiveX控件基于COM(组件对象模型)技术构建,具备高度可复用性与交互性,广泛用于嵌入网页内容或第三方功能模块。在MFC项目中集成ActiveX控件,如Web浏览器控件,可以实现原生应用与HTML内容的无缝融合。

weixin_36064575的博客 871

CWebBrowser2 常见的使用方法

 使用方法,1.首先进入类设计视图,2.其次选择菜单 项目-> 添加类 -> MFC ACtive插件…,在弹出的对话框中选择Registered ActiveX Controls文件夹,然后选中列表中的Microfost Web 浏览控件。或者编辑对话框资源时,右键单击选择Insert ActiveX控件选项,也可以在列表中选择该控件主要功能:第一:浏览网页利用控件的Naviga

ligangok的专栏 1万+
上一篇: 在MFC应用中深入定制WebBrowser控件
下一篇: 我的数学之美系列二 —— simhash与重复信息识别
momosp
博客等级 码龄18年 13粉丝 16原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值