dedecms织梦内容管理系统    
首页 | java | C/C++ | PHP | 操作系统 | ajax | 脚本编程 | 安全技术 | 本站下载页 | flex | CRM | 专题 | QQ群 | 测试中心 | 会员中心 | 积分规则
  当前位置:主页>C/C++>C/C++技术资料>文章内容
利用WebBrowser控件创建自己的浏览器
来源:编程爱好者     作者:    
是不是很早就想拥有一个很有个性的浏览器?本文将介绍如何利用MicroSoft的
WebBrowser控件在VC中创建一个属于自己的浏览器。过程如下:

①新建一个基于对话框的工程,命名为test,然后在对话框上单击右键,选择
Insert ActiveX Control…在弹出的对话框中选择MicroSoft Web浏览器,点击OK。
此时对话框上已经出现了WebBrowser控件,调整它的大小以适合对话框的大小。

②选择WebBrowser控件,点击View/ClassWizard,选择Member Variables,单击
Add Variable按钮,此时会弹出两个对话框,均点击确定即可。然后给该控件加
入一个变量,我们把它命名为m_ctrlWeb。

③在ClassWizard中选择OnInitDialog(),在里面加入如下代码:

m_ctrlWeb.Navigate("d:\\temp\\html_doc\\
index.html",NULL,NULL,NULL,NULL);

第一个参数即你要浏览的URL地址,可以是一个文件,也可以是一个地址
(如http://dlgis.topcool.net)。

现在编译运行改程序,如何,是不是已经看到你想要浏览的网页了!不过,我们现在
的浏览器只能显示,还没有最基本的前进、后退、刷新等功能,下面我们来加入这些
功能。

④在对话框上加入三个按钮,分别命名为前进(IDC_BUTTON_FORWARD)、后退
(IDC_BUTTON_BACK)、刷新(IDC_BUTTON_REFRESH),然后我们分别为他们加入控制代
码。首先要控制他们在特定的情况下是否可用,即达到最顶层或最底层时,前进或后
退按钮要相应的改变他们的状态。利用ClassWizard给WebBrowser控件加入
CommandStateChange,然后单击Edit Code按钮,在其中加入如下代码:

switch(Command)
{
case 1:
{
  GetDlgItem(IDC_BUTTON_FORWARD)->EnableWindow(Enable);
  break;
}

case 2:
{
  GetDlgItem(IDC_BUTTON_BACK)->EnableWindow(Enable);
  break;
}
}

此时,按钮已经可以随着你点击超连接而改变他们的状态了。下面要加入控制前进后
退的代码以使这些按钮起作用。

⑤分别给前进和后退按钮的加入如下代码:

前进:m_ctrlWeb. GoForward();
后退:m_ctrlWeb. GoBack();

⑥给刷新按钮加入如下代码:
m_ctrlWeb.Refresh();

现在,基本的功能基本已经具备了。但有时在开发的过程中,我们不仅仅满足于可以
浏览,我们或许想要对特定的连接进行特殊的处理,这就涉及到如何得到你点击超连
接时,得到该超连接的值的问题。WebBrowser控件的TitleChange提供了这样的
功能,下面我们看一下如何得到超连接的内容。

⑦利用ClassWizard给该控件加入TitleChange,该的Text参数即可以返回你
点击的内容。在我的应用程序中是这样利用的。我的程序中有一个有关地名的数据
库,当TitleChange发生时,返回你所点击的地名,然后到中检索该地名,
中存有有关该地名的各种信息,如视频、声音及文本资料等等,检索到之后,
就可以在程序中对这些资料进行显示、播放等操作了。

到现在为止,你已经拥有了一个完全由你自己随心所欲控制的浏览器以及你想要扩充
它的的功能的Idea了。

 

 

上一篇:VC编程实现文本语音转换   下一篇:Windows下实时行式打印系统设计
[收藏] [推荐] [评论(0条)] [返回顶部] [打印本页] [关闭窗口]  
用户名: 新注册) 密码: 匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
 §最新评论
  热点文章
·C语言数组排序小结
·Python 与 C++ 程序的简单实例对
·c++ 数组与指针
·C++中的内存管理(new、delete、
·如何用C语言开发DSP嵌入式系统
·如何用C语言开发DSP嵌入式系统
·Linux下C语言编程
·学习arm的话先看哪本书?
·C++初学者应该关心的优秀图书一
·利用C语言小程序来解决大问题
·用C语言写PHP扩展的步骤
·用C语言扩展PHP功能
  相关文章
·VC编程实现文本语音转换
·Windows下实时行式打印系统设计
·用VC存取数据库中的大对象
·VC下打印机的使用
·用Sockets接收和转换数字和字符
·获取有关显示器、鼠标及系统的配
·利用模板技术简化VC中的代码
·如何模拟《WORD》的窗口形式
·如何自动截获输出到打印机的文本
·OICQ登录号码清除器实现原理
·如何用VC++和Visual Foxpro进行A
·用VC 6.0实现串行通信的三种方法
  相关信息
copy right @ 百家拳软件项目研究室 2007 辽ICP备07011763