用C++Builder建立自己的Web浏览器

发表于:2007-07-04来源:作者:点击数: 标签:
中央民族大学 杨 超 廖海波 用够了IE 和Netscape 的朋友, 有没有想过也编制一个自己的浏览器呢? 用C ++Builder 使得你能够方便高效地创建自己的Inte .net 程序。由于C ++Builder 的基本语言是C ++, 所以它几乎可以做任何事情, 通过C ++Builder 的组件
中央民族大学 杨 超 廖海波

  用够了IE 和Netscape 的朋友, 有没有想过也编制一个自己的浏览器呢? 用C ++Builder 使得你能够方便高效地创建自己的Inte.net 程序。由于C ++Builder 的基本语言是C ++, 所以它几乎可以做任何事情, 通过C ++Builder 的组件设置, 你可以像其他应用程序一样建立Internet 应用, 这意味着你可以扩展这些组件来增强他们的功能。如果需要的话, 它也可以处理低水平的API 细节, 因为它是基于C ++的。如果直接使用API( 如ISAPI) 建立Internet 应用, 你选用的工具必须能使用并建立DLL, 而且能利用这些DLL 公布的接口。

  让我们看一下它的Internet 组件及功能:

  ---------------------

  FTP 支持远程机器间交换文件

  THTML 支持分析和规划html 数据并提供一个当前html 页的可滚动视图

  THTTP 提供访问超级文本传输协议

  TNTTP 提供读取新闻组的能力

  TPOP 提供访问pop3 电子邮件协议

  TSMTP 支持传送Internet 邮件报文组给SMTP服务器

  TTCP 提供访问winsock 传送控制协议( 客户和服务器端)

  TUDP 提供访问winsock 用户数据图协议( 客户端和服务器端)

  ----------------------

  现在就可以开始建立浏览器了。

  1. 先建立一个新的工程文件

  创建一个新表单, 设它的Caption 属性为mybrowse,Position 的属性为PoScreeCenter 将一个TTabControl 组件放在表单顶部, 这个控制在你浏览中列出的URL,使你很容易返回到你已经访问过的节点, 设置Align 的属性为alTop, 这样以使程序运行时它总处于表单的顶端, 再放置一个Tpanel 并设置Align 属性为alBottom, 使它运行时处于底端, 在对象观察器中删除Caption 属性, 并设TabOder 为0,再向表单中加入另一Tpanel, 清除其Caption 属性, 并放置两个TBitBtn,Caption 分别设置为GO 和HOME, 在表单的底部放置一个TcomBoBox 并删除Text 属性, 程序运行时, 你将在它里面键入或下拉选择你要访问的URL,最后在表单上放置一个THml 组件, 这将显示你访问的网页。下面就可以编写代码了。

  2. 编写代码

  1 为TabControl 的OnChange 事件( 使cbURL 与tcURL 同步) 编写代码:
   cbURL ->Text=tcURL ->Tabs ->Strings
[tcURL ->TabIndex];
   cbURL ->SelectAll( );
   bbGo ->Click( );
// 使点击go 与点表格相同效果
  2 为THtml 的OnbeginRetrieve 事件编写代码:

   Cursor=(TCursor)crHourGlass;
   if (cbURL ->Items ->
      indexOf(htBrowser ->URL)== -1)
   {
   cbURL ->Items ->Add(htBrowser ->URL);
       // 检查TComboBox 保持的URL 是否
   cbURL ->Text=htBrowser ->URL;
      // 包含要浏览的地址
  < file:// 包含要浏览的地址> , 如没有则
     cbURL ->SelectALL( );
   // 将其加入到TComboBox 和
   tcURL ->Tabs ->Add(htBrowser ->URL);
//TTabControl 中
 tcURL ->TabIndex=tcURL ->Tabs ->Count -1;
   bbGo ->Click( );
   }
  为THTML 的OnEndRetrieve 实践编写代码;

   Cursor=(TCursor)crDefault;
  3 为go 按钮的OnClick 事件编写代码:

  htBrowser ->equestDoc(cbURL ->est) // 打开任何在TComboBox 中指定的URL


//(cbUCL)
  4 为按钮home 的OnClick 编写事件:

 htBrowser ->equestDoc ->(HomePage)
 // HomePage 为常数, 须在程序首定义, 如
 // String   HomePage="http://www.sohoo.com"
    }
  现在你已编好了你自己的浏览器。

  快! 试一试吧!   

原文转自:http://www.ltesting.net