自己做浏览器?有没有搞错?不要说像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
|