Microsoft Web Browser控件的常用功能

类别:VC语言 点击:0 评论:0 推荐:

  微软的Web Browse控件

使用方法,选择菜单 Project -> Add to Project -> Components and controls…,在弹出的对话框中选择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:继续

本文地址:http://com.8s8s.com/it/it461.htm