使用方法,1.首先进入类设计视图,2.其次选择菜单 项目-> 添加类 -> MFC ACtive插件…,在弹出的对话框中选择Registered ActiveX Controls文件夹,然后选中列表中的Microfost Web 浏览控件。或者编辑对话框资源时,右键单击选择Insert ActiveX控件选项,也可以在列表中选择该控件
主要功能:
第一:浏览网页
利用控件的Navigate接口,原型如下:
void CWebBrowser2::Navigate(LPCTSTR URL, VARIANT* Flags, VARIANT* TargetFrameName, VARIANT* PostData, VARIANT* Headers)
只要第一个参数填上html文件的全路径名(不能使用相对路径名),其余的参数可以为NULL。
说起来这是一个很普通的功能,但是有时候灵活使用却也会收到很多意想不到的效果,比如:
>>美化界面:设计一张很酷的网页用这个控件显示出来可以增加界面的美感
>>播放音乐:在网页中播放音乐(mid或wav),同时把控件隐藏起来,则可以实现程序背景音乐的播放。示例html文件:
<html>
<bgsound src="bksound.mid" loop="-1">
<body></body>
</html>
>>播放视频:可以支持asf和mpeg格式
>>显示图片:利用web浏览器可以简单地显示gif、jpeg、bmp等图片。示例html文件
<html>
<body><img src="image.jpg"></body>
</html>
>>浏览doc文档、pdf文件:利用控件的Navigate接口,可以浏览word文档和pdf文件,只要第一参数填上文件的全路径名,后面的参数都可以为NULL
第二:打印
通过控件的ExecWB接口可以将控件中显示的内容打印出来,并且能够很简单地实现打印预览,和纸张大小设置。
//m_WebBrowse为控件对应的变量
m_WebBrowse.ExecWB(OLECMDID_PRINT,OLECMDEXECOPT_PROMPTUSER,NULL,NULL); //打印
//使用OLECMDEXECOPT_PROMPTUSER参数则打印之前会弹出对话框,让用户选择打印机、页面布局等设置,使
//用OLECMDEXECOPT_DONTPROMPTUSER则不会弹出
m_ WebBrowse.ExecWB(OLECMDID_PRINTPREVIEW,OLECMDEXECOPT_DONTPROMPTUSER,NULL,NULL); //打印预览
m_ WebBrowse.ExecWB(OLECMDID_PAGESETUP,OLECMDEXECOPT_PROMPTUSER,NULL,NULL); //纸张尺寸设置
第三:截获提交的数据,进一步还可以使用DHTML显示提交的数据
实现这些功能主要通过修改控件对消息BeforeNavigate2的处理,原型如下:
OnBeforeNavigate2Explorer1( //该函数在HTML的连接前调用
LPDISPATCH pDisp,
VARIANT FAR* URL, //准备浏览的URL,修改它可以实现转向
VARIANT FAR* Flags,
VARIANT FAR* TargetFrameName,
VARIANT FAR* PostData,
VARIANT FAR* Headers,
BOOL FAR* Cancel)//TRUE:停止 FALSE:继续