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

来源:百度文库 编辑:神马文学网 时间:2024/04/27 17:34:57

 [ 原创文档 本文适合中级读者 已阅读29568次 ] 文档 代码 工具
没有做不到,只有想不到
——使用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知识的功底,那就尽情发挥吧。
最新评论[发表评论][文章投稿]查看所有评论推荐给好友打印
太感谢了,正是我需要的 ( zjx580 发表于 2006-8-7 10:00:00)
好!!我又学到了一此方法!1谢了。。
我有一个问题向您 请教!!我已经发到您 的邮箱里!!望您 能看一下!!谢了!! ( seasun_555 发表于 2006-6-13 11:12:00)
这点玩意拿出来寒碜人,还好意思自称老师。 ( agedboy 发表于 2004-11-12 18:07:00)
如果你有本事,也可以来寒碜一下啊~ ( cqhongjun 发表于 2006-4-14 16:01:00)
什么知识都通一窍,就是99窍不通.
哎!!!!!没办法 [:‘(] ( baibingchen__007 发表于 2005-3-24 13:05:00)
好想好好的学,可是怎么就是那么笨呢? ( baibingchen_007 发表于 2005-3-24 13:01:00)
agedboy,你要学的还很多,以五十步笑百步,呸! ( guest 发表于 2004-12-17 16:28:00)
这点玩意拿出来寒碜人,还好意思自称老师。 ( agedboy 发表于 2004-11-12 18:07:00)
佩服 ( lxd 发表于 2004-6-16 18:49:00)
有创意
好 ( lxd 发表于 2004-6-16 18:48:00)
真是厉害呀,杨老师!!
学生我佩服! ( foxlixiao 发表于 2004-5-27 9:59:00)
.......................................................
More...
版权所有 © 2006 VC知识库