随笔-80  评论-22  文章-0  trackbacks-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:继续
posted on 2009-07-17 12:38 Bluesea 阅读(1020) 评论(0)  编辑 收藏 引用 所属分类: MFC

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理