用VB打造自己的“IE” 自己做浏览器？有没有搞错？不要说像IE这样的庞然大物，就是小巧的Opera，我们大多数普通人也决计搞不出来。但如果你的机器里装有VB 5.0专业版，那么事情就好办多了，想试试吗？ 程序的主角是一个ActiveX控件：WebBrowser。当然，缺省状态下VB的工具箱中并没有它，我们得手工加入，方法是：右击工具箱，在快捷菜单中选择“部件...”命令，然后在弹出的对话框中选中“控件”选项卡，选中“Microsoft Internet Controls”项，然后确定。此时你会发现工具箱中多了两个小图标，其中，地球图标代表的控件正是我们需要的WebBrowser。
由于许多人对WebBrowser控件不是很熟悉，VB的帮助中也没有有关它的内容，因此有必要介绍一下它的属性、方法和事件：
属性：LocationURL 返回控件显示WEB页面的URL。
方法：Navigate 转移到指定的URL或打开指定HTML文件。
事件：1．DownloadBegin 下载操作开时触发。
2．DownloadComplete 下载操作完成、终止或失败时触发。
3．ProgressChange WebBrowser控件跟踪下载操作的过程，并定期触发此事件。其语法为：Sub WebBrowser_Pro-gressChange (ByVal Progress As Long, ByVal ProgressMax As Long)。Progress变元是当前已下载的数据总量，Pro-gressMax变元是将要下载的数据总量。
4．TitleChange 当前文档标题改变时触发。
除了WebBrowser控件外，程序还需要一个Label控件：Label1；一个ComboBox控件：Combo1，用来显示URL地址；一个StatusBar控件：StatusBar1;一个ProgressBar控件：ProgressBar1，用来显示下载进度（StatusBar控件和ProgressBar控件是ActiveX控件Microsoft Windows Common Controls 5.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 (钱可栋)