📄 95.htm
字号:
<p>用VB制作浏览器</p>
<p> </p>
<p></p>
<p> 自己做浏览器?有没有搞错?不要说像IE这样的庞然大物,就是小巧的Opera,我们大多数普通人也决计搞不出来。但如果你的机器里装有VB5.0专业版,那么事情就好办多了,想试试吗?那好,Let`s go!</p>
<p> 程序的主角是一个ActiveX控件:WebBrowser。当然,缺省状态下VB的工具箱中并没有它,我们得手工加入,方法是:右击工具箱,在出现的快捷菜单中选择“部件...”,确保在弹出的对话框中选中“控件”标签,找到Microsoft Internet Controls,在它前面的小框中打钩,然后确定。此时你会发现工具箱中多了两个小图标,其中,地球图标代表的控件正是我们需要的WebBrowser。</p>
<p> 由于许多人对WebBrowser控件不是很熟悉,VB的帮助中也没有有关它的内容(反正我没有找到),因此有必要介绍一下它的属性、方法和事件,限于篇幅,我们只涉及程序中用到的:</p>
<p> 属性:LocationURL 返回控件显示WEB页面的URL。</p>
<p> 方法:Navigate 转移到指定的URL或打开指定HTML文件。</p>
<p> 事件:1.DownloadBegin 下载操作开时触发。</p>
<p> 2.DownloadComplete 下载操作完成、终止或失败时触发。</p>
<p> 3.ProgressChange WebBrowser控件跟踪下载操作的过程,并定期触发此事件。其语法为:Sub WebBrowser_ProgressChange (ByVal Progress As Long, ByVal ProgressMax As Long)。Progress变元是当前已下载的数据总量,ProgressMax变元是将要下载的数据总量。</p>
<p> 4.TitleChange 当前文档标题改变时触发</p>
<p> 除了WebBrowser控件外,程序还需要一个Label控件:Label1;一个ComboBox控件:combo1,用来显示URL地址;一个StatusBar控件:StatusBar1;一个ProgressBar控件:ProgressBar1,用来显示下载进度(StatusBar控件和ProgressBar控件是ActiveX控件Microsoft Windows Common Controls5.0的成员,加入工具箱的方法同WebBrowser控件),这些控件的属性值都用缺省值。</p>
<p> 以下是程序清单:</p>
<p> Option Explicit</p>
<p> </p>
<p> Private Sub Form_Load()</p>
<p> Me.Caption =“My Explorer”</p>
<p> Label1.Caption = “URL”</p>
<p> Combo1.Text = “”</p>
<p> Combo1.Top = Label1.Height</p>
<p> Combo1.Left = 0</p>
<p> WebBrowser1.Top = Combo1.Top + Combo1.Height</p>
<p> WebBrowser1.Left = 0</p>
<p> Form_Resize</p>
<p> StatusBar1.Style = sbrSimple</p>
<p> ProgressBar1.ZOrder</p>
<p> End Sub</p>
<p> </p>
<p> Private Sub Form_Resize()</p>
<p> On Error GoTo a</p>
<p> Combo1.Width = Form1.Width - 100</p>
<p> WebBrowser1.Width = Combo1.Width</p>
<p> WebBrowser1.Height = Form1.Height - Combo1.Height - 1000</p>
<p> ProgressBar1.Top = Me.Height - StatusBar1.Height - 330</p>
<p> ProgressBar1.Left = 0.25 * StatusBar1.Width</p>
<p> ProgressBar1.Width = 0.75 * Me.Width - 250</p>
<p> a:</p>
<p> End Sub</p>
<p> </p>
<p> Private Sub Combo1_Click()</p>
<p> `转到指定网址</p>
<p> WebBrowser1.Navigate Combo1.Text</p>
<p> End Sub</p>
<p> </p>
<p> Private Sub Combo1_KeyDown(KeyCode As Integer, Shift As Integer)</p>
<p> Dim i As Long</p>
<p> Dim existed As Boolean</p>
<p> If KeyCode = 13 Then</p>
<p> If Left(Combo1.Text, 7) <> “http://”Then</p>
<p> Combo1.Text = “http://”+ Combo1.Text</p>
<p> End If</p>
<p> WebBrowser1.Navigate Combo1.Text</p>
<p> For i = 0 To Combo1.ListCount - 1</p>
<p> If Combo1.List(i) = Combo1.Text Then</p>
<p> existed = True</p>
<p> Exit For</p>
<p> Else</p>
<p> existed = False</p>
<p> End If</p>
<p> Next</p>
<p> If Not existed Then</p>
<p> Combo1.AddItem (Combo1.Text)</p>
<p> End If</p>
<p> End If</p>
<p> End Sub</p>
<p> </p>
<p> Private Sub WebBrowser1_DownloadBegin()</p>
<p> `下载开始时状态栏显示“Now Linking...”</p>
<p> StatusBar1.SimpleText = “Now Linking...”</p>
<p> End Sub</p>
<p> </p>
<p> Private Sub WebBrowser1_DownloadComplete()</p>
<p> `下载完成时状态栏显示“Link Finished”</p>
<p> StatusBar1.SimpleText = “Link Finished”</p>
<p> ProgressBar1.Value = 0</p>
<p> End Sub</p>
<p> </p>
<p> Private Sub WebBrowser1_ProgressChange(ByVal Progress As Long,</p>
<p>ByVal ProgressMax As Long)</p>
<p> `下载进行时进度条变化</p>
<p> If ProgressMax = 0 Then Exit Sub</p>
<p> ProgressBar1.Max = ProgressMax</p>
<p> If Progress <> -1 And Progress <= ProgressMax Then</p>
<p> ProgressBar1.Value = Progress</p>
<p> End If</p>
<p> End Sub</p>
<p> </p>
<p> Private Sub WebBrowser1_TitleChange(ByVal Text As String)</p>
<p> Combo1.Text = WebBrowser1.LocationURL</p>
<p> End Sub</p>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -