VC知识库文章 - 使用IE控件的一些有趣方法

没有做不到,只有想不到

——使用IE控件的一些有趣方法

作者:杨老师

源代码下载

你想在程序中,播放背景音乐吗?

你想在程序中,播放广告FLASH吗?

你想在程序中,显示WORD文件吗?

你想在程序中,显示PDF文件吗?

你想在程序中,显示图象文件吗?

你想在程序中,实现自动排版打印吗?

你想在程序中,实现美观的用户输入界面吗?

你想在程序中,简单实现以上功能的模板吗?

你想......只要在IE中能实现的功能,就能应用在自己的软件中。好了,咱们开始吧......

图一 演示程序画面

  一、首先,需要在你的程序中嵌入IE浏览器的窗口。有两种实现方法,其一,添加CHtmlView的视类;其二,添加IE浏览器的ActiveX控件。其实不管用什么方法,除了函数名称稍有区别外,它们最终都调用了微软的IWebBrowser2的接口。IWebBrowser2的功能非常强劲,使用它的技术叫DHTML(动态HTML,以后再给大家介绍)。在这篇文章中,先给大家举例介绍一些初级的使用,起到抛砖引玉的作用。更多功能可以参考MSDN。

例子程序是在对话窗中嵌入IE ActiveX为演示基础,使用CHtmlView可参照修改。VC6下编译运行通过。

  二、方法和步骤:

1. 建立一个对话窗形式的MFC应用程序,注意在导航的第2页上,一定要选择ActiveX Controls。这也是默认的选择。

2. 向工程中添加 Microsoft Web 浏览器的ActiveX控件。

执行菜单 Project\Add To Project\Components And Controls... 选择Registered ActiveX Controls目录,找到Microsoft Web 浏览器,并Insert。这样MFC会给你产生一个IWebBrowser2的包装类CWebBrowser2。

3. 在对话窗资源编辑器中,把工具条上的IE控件放到你的对话窗中。启动ClassWizard,映射这个IE控件为CWebBrowser2的一个对象(在演示程序中的对象名称是m_ie)

   三、演示程序中一些需要说明介绍的知识:(更多更详细的使用信息,请参考CHtmlView,IWebBrowser2的MSDN说明)

1. 显示浏览一个HTML文件(或ActiveX文档类型的文件,如Word,PDF等),请使用Navigate()/Navigate2()函数

2. 关于背景音乐、图象文件、FLASH等显示,其实是按照HTML的语法标记,直接写在HTML文件中的。

3. 打印功能,需要调用ExecWB()函数。这个函数的功能非常多,根据参数命令(OLECMDID),能够实现诸如打印、保存、剪贴版等30多个功能。

4. IE控件有一个非常重要的事件(当打开HTML的连接之前)。重载虚函数OnBeforeNavigate2()后,可以实现连接重定向;提取HTML中用户输入的表单数据等功能。在演示程序中,也给大家展示了如何取得数据,及安全数组的用法。

5. 演示程序中,为了突出重点。HTML模版文件都非常基本和简单。如果你有深厚的HTML知识的功底,那就尽情发挥吧。

没有做不到,只有想不到

——使用IE控件的一些有趣方法

作者:杨老师

源代码下载

你想在程序中,播放背景音乐吗?

你想在程序中,播放广告FLASH吗?

你想在程序中,显示WORD文件吗?

你想在程序中,显示PDF文件吗?

你想在程序中,显示图象文件吗?

你想在程序中,实现自动排版打印吗?

你想在程序中,实现美观的用户输入界面吗?

你想在程序中,简单实现以上功能的模板吗?

你想......只要在IE中能实现的功能,就能应用在自己的软件中。好了,咱们开始吧......

图一 演示程序画面

  一、首先,需要在你的程序中嵌入IE浏览器的窗口。有两种实现方法,其一,添加CHtmlView的视类;其二,添加IE浏览器的ActiveX控件。其实不管用什么方法,除了函数名称稍有区别外,它们最终都调用了微软的IWebBrowser2的接口。IWebBrowser2的功能非常强劲,使用它的技术叫DHTML(动态HTML,以后再给大家介绍)。在这篇文章中,先给大家举例介绍一些初级的使用,起到抛砖引玉的作用。更多功能可以参考MSDN。

例子程序是在对话窗中嵌入IE ActiveX为演示基础,使用CHtmlView可参照修改。VC6下编译运行通过。

  二、方法和步骤:

1. 建立一个对话窗形式的MFC应用程序,注意在导航的第2页上,一定要选择ActiveX Controls。这也是默认的选择。

2. 向工程中添加 Microsoft Web 浏览器的ActiveX控件。

执行菜单 Project\Add To Project\Components And Controls... 选择Registered ActiveX Controls目录,找到Microsoft Web 浏览器,并Insert。这样MFC会给你产生一个IWebBrowser2的包装类CWebBrowser2。

3. 在对话窗资源编辑器中,把工具条上的IE控件放到你的对话窗中。启动ClassWizard,映射这个IE控件为CWebBrowser2的一个对象(在演示程序中的对象名称是m_ie)

   三、演示程序中一些需要说明介绍的知识:(更多更详细的使用信息,请参考CHtmlView,IWebBrowser2的MSDN说明)

1. 显示浏览一个HTML文件(或ActiveX文档类型的文件,如Word,PDF等),请使用Navigate()/Navigate2()函数

2. 关于背景音乐、图象文件、FLASH等显示,其实是按照HTML的语法标记,直接写在HTML文件中的。

3. 打印功能,需要调用ExecWB()函数。这个函数的功能非常多,根据参数命令(OLECMDID),能够实现诸如打印、保存、剪贴版等30多个功能。

4. IE控件有一个非常重要的事件(当打开HTML的连接之前)。重载虚函数OnBeforeNavigate2()后,可以实现连接重定向;提取HTML中用户输入的表单数据等功能。在演示程序中,也给大家展示了如何取得数据,及安全数组的用法。

5. 演示程序中,为了突出重点。HTML模版文件都非常基本和简单。如果你有深厚的HTML知识的功底,那就尽情发挥吧。


相关内容

  • 实验报告(通用版)
  • 数据结构实验报告人力资源 11中国矿业大学管理学院2014 年 11 月目录实验一 KFC 点餐结账程序 ....................................................................................... 3 实验二 运算符 ...

  • net简要介绍
  • 在微软的.NET还是Beta 1版的时候,就受到了开发人员的极大关注.随着正式版的发布,越来越多的人开始认识和了解它.相信你已经通过网络或者其它媒体了解到微软正在不遗余力的推销它的.NET策略. 你一定还在迷惑,"什么是.NET?"从微软的网站上我们得到如下的解释: Micros ...

  • sscanf(函数)
  • sscanf 名称: 名称 sscanf() - 从一个字符串中读进与指定格式相符的数据. 函数原型: 函数原型 Int sscanf( string str, string fmt, mixed var1, mixed var2 ... ); int scanf( const char *form ...

  • 多媒体演示文稿的设计与制作学习心得
  • >(初级)学习心得 修武实验高中 王爱芳 通过对>(初级)课程的学习,我已经掌握了多媒体演示文稿的设计与制作基本知识及制作方法,收获颇多,现就自己的学习谈谈学习体会. 一.知识点 1.创建演示文稿: 2.插入多媒体资源: 3.多媒体资源的搭配: 4.播放和调用文稿. 二.应用 1.Pow ...

  • [多媒体演示文稿的设计与制作(初级)]学习心得
  • >(初级)学习心得 玉林市茂林镇中学 梁海玲 通过对>(初级)课程的学习,我已经掌握了多媒体演示文稿的设计与制作基本知识及制作方法,收获颇多,现就自己的学习谈谈学习体会. 一.知识点 1.创建演示文稿: 2.插入多媒体资源: 3.多媒体资源的搭配: 4.播放和调用文稿. 二.应用 1.P ...

  • 系统设计实践与协作方法探索--基于互联网产品的设计与实现
  • 系统设计实践与协作方法探索--基于互联网产品的设计与实现 宋丹1邱爽2 1 上海交通大学,上海,中国,200240 [email protected] 2 腾讯科技有限公司,深圳,中国,518057 [email protected] 摘要:在实际项目中,经验告诉我们,交互设计师视觉设计 ...

  • 毕业设计---游戏开发实现与设计
  • 目 录 第一章 游戏开发的现状分析........................................... 0 1.1游戏开发现状................................................. 0 1.2 游戏开发中存在的问题 ........... ...

  • 基于.Net C#的声音波形显示
  • 摘要:Wav文件包含文件头和数据块,记录了声音的波形..Net C#开发环境提供了文件流和流的读写器等操作类,可以方便地实现对wav文件的解析从而得到声音的波形数据,再利用Graphics类的各种图形绘制方法将波形数据绘制成曲线. 中国论文网 http://www.xzbu.com/8/view-3 ...

  • 2016年苏教版八年级信息技术教案
  • 第1课 认识机器人 课时1 教学目的: 1.了解机器人的基本定义和主要分类. 2.了解机器人的主要发展方向. 3.以知识普及为主线,引导学生理解机器人的涵义. 4.采用自主学习.合作学习的方式,了解机器人技术及其发展方向. 5.接受高科技的启发,学人所长,并与同学们一起交流感受. 6.感悟机器人与普 ...