没有做不到,只有想不到
——使用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知识的功底,那就尽情发挥吧。
阅读(257) | 评论(0) | 转发(0) |