T086学习网 | 站长学院 | 技术文档 | 成语 | 歇后语 | 帝国时代 | 代码收藏 | IP地址查询 | 生活百科 | 生日密码 | CSS压缩 | 用户评论 | 欣欣百宝箱

自己的IE——用VB制作浏览器DIY

【 VBEDEN作者:钱可栋 更新时间:2003-10-26 | 字体:
[导读]自己做浏览器?有没有搞错?不要说像IE这样的庞然大物,就是小巧的Opera,我们大多数普通人也决计搞不出来。但如果你的机器里装有VB5.0专业版,那么事情就好办多了,想试试吗?那好,Let`s go!  程序的主角是一个A...
自己做浏览器?有没有搞错?不要说像IE这样的庞然大物,就是小巧的Opera,我们大多数普通人也决计搞不出来。但如果你的机器里装有VB5.0专业版,那么事情就好办多了,想试试吗?那好,Let`s go!

  程序的主角是一个ActiveX控件:WebBrowser。当然,缺省状态下VB的工具箱中并没有它,我们得手工加入,方法是:右击工具箱,在出现的快捷菜单中选择“部件...”,确保在弹出的对话框中选中“控件”标签,找到Microsoft Internet Controls,在它前面的小框中打钩,然后确定。此时你会发现工具箱中多了两个小图标,其中,地球图标代表的控件正是我们需要的WebBrowser。

  由于许多人对WebBrowser控件不是很熟悉,VB的帮助中也没有有关它的内容(反正我没有找到),因此有必要介绍一下它的属性、方法和事件,限于篇幅,我们只涉及程序中用到的:

  属性:LocationURL 返回控件显示WEB页面的URL。

  方法:Navigate 转移到指定的URL或打开指定HTML文件。

  事件:1.DownloadBegin 下载操作开时触发。

  2.DownloadComplete 下载操作完成、终止或失败时触发。

  3.ProgressChange WebBrowser控件跟踪下载操作的过程,并定期触发此事件。其语法为:Sub WebBrowser_ProgressChange (ByVal Progress As Long, ByVal ProgressMax As Long)。Progress变元是当前已下载的数据总量,ProgressMax变元是将要下载的数据总量。

  4.TitleChange 当前文档标题改变时触发

  除了WebBrowser控件外,程序还需要一个Label控件:Label1;一个ComboBox控件:combo1,用来显示URL地址;一个StatusBar控件:StatusBar1;一个ProgressBar控件:ProgressBar1,用来显示下载进度(StatusBar控件和ProgressBar控件是ActiveX控件Microsoft Windows Common Controls5.0的成员,加入工具箱的方法同WebBrowser控件),这些控件的属性值都用缺省值。

  以下是程序清单:

  Option Explicit
  
  Private Sub Form_Load()
  Me.Caption ="My Explorer"
  Label1.Caption = "URL"
  Combo1.Text = ""
  Combo1.Top = Label1.Height
  Combo1.Left = 0
  WebBrowser1.Top = Combo1.Top + Combo1.Height
  WebBrowser1.Left = 0
  Form_Resize
  StatusBar1.Style = sbrSimple
  ProgressBar1.Zorder
  End Sub
     

  Private Sub Form_Resize()
  On Error GoTo a
  Combo1.Width = Form1.Width - 100
  WebBrowser1.Width = Combo1.Width
  WebBrowser1.Height = Form1.Height - Combo1.Height - 1000
  ProgressBar1.Top = Me.Height - StatusBar1.Height - 330
  ProgressBar1.Left = 0.25 * StatusBar1.Width
  ProgressBar1.Width = 0.75 * Me.Width - 250
  a:
  End Sub
     
  
  Private Sub Combo1_Click()
  `转到指定网址
  WebBrowser1.Navigate Combo1.Text
  End Sub
  
  Private Sub Combo1_KeyDown(KeyCode As Integer, Shift As Integer)
  Dim I As Long
  Dim existed As Boolean
  If KeyCode = 13 Then
  If Left(Combo1.Text, 7) <> "http://"Then
  Combo1.Text = "http://"+ Combo1.Text
  End If
  WebBrowser1.Navigate Combo1.Text
  For I = 0 To Combo1.ListCount - 1
  If Combo1.List(I) = Combo1.Text Then
  existed = True
  Exit For
  Else
  existed = False
  End If
  Next
  If Not existed Then
  Combo1.AddItem (Combo1.Text)
  End If
  End If
  End Sub
  

  Private Sub WebBrowser1_DownloadBegin()
  `下载开始时状态栏显示"Now Linking..."
  StatusBar1.SimpleText = "Now Linking..."
  End Sub
     

  Private Sub WebBrowser1_DownloadComplete()
  `下载完成时状态栏显示"Link Finished"
  StatusBar1.SimpleText = "Link Finished"
  ProgressBar1.Value = 0
  End Sub
     

  Private Sub WebBrowser1_ProgressChange(ByVal Progress As Long,
ByVal ProgressMax As Long)
  `下载进行时进度条变化
  If ProgressMax = 0 Then Exit Sub
  ProgressBar1.Max = ProgressMax
  If Progress <> -1 And Progress <= ProgressMax Then
  ProgressBar1.Value = Progress
  End If
  End Sub
  
  
  Private Sub WebBrowser1_TitleChange(ByVal Text As String)
  Combo1.Text = WebBrowser1.LocationURL
  End Sub
  • 转载请注明来源:IT学习网 网址:http://www.t086.com/ 向您的朋友推荐此文章
  • 特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系我们,我们会尽快予以更正。
更多
留言建议ASP探针PHP探针站长Enjoy的Blog
© 2017 T086学习网 - T086.com(原itlearner.com)
RunTime:9.50ms QueryTime:7