📄 用vb设计自已的web浏览器.htm
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0051)http://www.fuxing.sh.cn/stuweb/g200002/progrA/7.htm -->
<HTML><HEAD><TITLE>用VB设计自已的Web浏览器</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<META content="MSHTML 6.00.2600.0" name=GENERATOR>
<META content=FrontPage.Editor.Document name=ProgId><!--mstheme--><LINK
href="用VB设计自已的Web浏览器.files/msth1111-106.css" type=text/css rel=stylesheet>
<META content="mstheme8646 1111, default" name="Microsoft Theme">
<META content="t, default" name="Microsoft Border"></HEAD>
<BODY><!--msnavigation-->
<TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
<TBODY>
<TR>
<TD>
<TABLE width="100%" border=0>
<TBODY>
<TR>
<TD width="39%">
<OBJECT id=ShockwaveFlash4 height=61 width=359
classid=clsid:D27CDB6E-AE6D-11CF-96B8-444553540000><PARAM NAME="_cx" VALUE="9499"><PARAM NAME="_cy" VALUE="1614"><PARAM NAME="Movie" VALUE="little.swf"><PARAM NAME="Src" VALUE="little.swf"><PARAM NAME="WMode" VALUE="Window"><PARAM NAME="Play" VALUE="-1"><PARAM NAME="Loop" VALUE="0"><PARAM NAME="Quality" VALUE="Best"><PARAM NAME="SAlign" VALUE=""><PARAM NAME="Menu" VALUE="-1"><PARAM NAME="Base" VALUE=""><PARAM NAME="Scale" VALUE="ShowAll"><PARAM NAME="DeviceFont" VALUE="0"><PARAM NAME="EmbedMovie" VALUE="0"><PARAM NAME="BGColor" VALUE=""><PARAM NAME="SWRemote" VALUE=""></OBJECT><A name=head></A></TD>
<TD width="61%">
<OBJECT id=ShockwaveFlash7 height=64 width=397
classid=clsid:D27CDB6E-AE6D-11CF-96B8-444553540000><PARAM NAME="_cx" VALUE="10504"><PARAM NAME="_cy" VALUE="1693"><PARAM NAME="Movie" VALUE="t2.swf"><PARAM NAME="Src" VALUE="t2.swf"><PARAM NAME="WMode" VALUE="Window"><PARAM NAME="Play" VALUE="-1"><PARAM NAME="Loop" VALUE="0"><PARAM NAME="Quality" VALUE="Best"><PARAM NAME="SAlign" VALUE=""><PARAM NAME="Menu" VALUE="-1"><PARAM NAME="Base" VALUE=""><PARAM NAME="Scale" VALUE="ShowAll"><PARAM NAME="DeviceFont" VALUE="0"><PARAM NAME="EmbedMovie" VALUE="0"><PARAM NAME="BGColor" VALUE=""><PARAM NAME="SWRemote" VALUE=""></OBJECT></TD></TR></TBODY></TABLE></TD></TR><!--msnavigation--></TBODY></TABLE><!--msnavigation-->
<TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
<TBODY>
<TR><!--msnavigation-->
<TD vAlign=top>
<H2>用VB设计自已的Web浏览器</H2>
<P>浏览器是阅读WWW上的信息资源的重要的客户端软件,众所周 知的有Microsoft Internet Explorer和Netscape
Navigator浏览 器。它们功能强大,界面友好,是广大网民在Internet上冲浪的好
工具。对于多媒体应用软件及教育软件的开发者来说,可能更希望 有自己定制的浏览器集成到自己开发的产品中来,以增强应用软件
产品的功能,扩充使用多媒体信息的方式,使自己的产品更加先 进、更加具有网络化特色,从而轻松平滑地融入到Internet世界中
去。但是,这些专业性的Web浏览器的安装配置较为复杂,程序文 件又很大,对于应用软件开发者来说还有版权问题,更不具有自己
需要的特色,要想集成到自己的应用产品中,有可能融合不平滑, 还会产生很多问题,怎么办呢?Visual Basic 5.0为软件开发人员
提供了现成的窗体和控件,只要稍稍熟悉VB编程,就可以轻松地设 计出具有专业化界面的、有自己特色的Web浏览器来。而且,原有
的软件开发工具可能不支持的媒体元素如Gif动画、.au格式声音等 也都能方便地引用到您的应用软件产品中来,而这些媒体元素在
Internet上几乎可以说是取之不尽,用之不竭的。下面就对用 Visual Basic 5.0设计一个简单的Web浏览器的方法加以说明。
<P>1.用Browser窗体设计浏览器
<P>Visual Basic 5.0的专业版提供了浏览器窗体(Browser Form),用它来设计自己的浏览器相当方便,许多控件不用一个个
地去设置和编写代码了,在此基础上还可以增添自己想增加的控件 和菜单等。下面对制作一个简单的浏览器的方法和步骤加以说明。
<P>(1)在VB中打开一个新的项目(New Project);
<P>(2)在项目(Project)资源管理器窗口中,选定Form1窗体并按 鼠标右键,弹出菜单后,用删除窗体(Remove
Form)命令删除Form1 窗体;
<P>(3)选定项目Project1,单击鼠标右键,弹出菜单后选定添加 (Add)项,再选择添加窗体(Add Form)命令。弹出添加窗体(Add
Form)对话框后,在其中选择浏览器(Browser)打开它;
<P>(4)在项目Project1的对象窗口中可以看到tbToolbar控件中已
经设置有Back(向后)、Forward(向前)、Stop(停止)、 Refresh(刷新)、Home(归位)、Search(搜索)等命令按钮,
还可以向tbToolbar控件中添加Open(打开)、Navigate(导 航)、Exit(退出)等命令按钮,其方法是:打开tbToolbar控件
的Properties(属性)页,在Button(按钮)选项卡中单击Insert
Button按钮来插入按钮,在以上命令按钮的Caption属性项中输入 相应的按钮名称;
<P>(5)由于新添加的Open(打开)、Navigate(导航)、Exit (退出)等命令按钮上没有相应的图标,故可以自行添加,其方法
是:找到名为ImlIcons的ImageList控件,打开其属性页,在 Images选项卡中插入自己喜欢的图标。然后在tbToolbar控件的
Properties(属性)页中设置相应的Index值;
<P>(6)从工具箱中选出CommonDialog(通用对话框)控件添加到
浏览器窗体中,将其命名为brwCommonDialog,为编写Open按钮相 应的事件代码作准备;
<P>(7)在frmBrowser窗体的属性窗口中,将MDIChild属性值设置 为False;
<P>(8)在项目Project1的属性设置窗口中设置启动对象为 frmBrowser窗体;
<P>(9)在tbToolbar控件的代码窗口中编写Open(打开)、 Navigate(导航)、Exit(退出)等命令按钮的代码;
<P>(10)在其他对象的代码窗口中编写或修改相应的代码。
<P>具体的程序代码请访问网点www.pccomputing.com.cn。
<P>Option Explicit
<P>Public StartingAddress As String
<P>Dim mbDontNavigateNow As Boolean
<P>Private Sub Form_Load()
<P>On Error Resume Next
<P>Me.Show
<P>tbToolBar.Refresh
<P>Form_Resize
<P>cboAddress.Move 50, lblAddress.Top + lblAddress.Height + 15
<P>If Len(StartingAddress) > 0 Then
<P>cboAddress.Text = StartingAddress
<P>cboAddress.AddItem cboAddress.Text
<P>'试图定位到起始地址
<P>timTimer.Enabled = True
<P>brwWebBrowser.Navigate StartingAddress
<P>End If
<P>End Sub
<P>Private Sub brwWebBrowser_DownloadComplete()
<P>On Error Resume Next
<P>Me.Caption = brwWebBrowser.LocationName
<P>End Sub
<P>Private Sub brwWebBrowser_NavigateComplete(ByVal URL As String)
<P>Dim i As Integer
<P>Dim bFound As Boolean
<P>Me.Caption = brwWebBrowser.LocationName
<P>For i = 0 To cboAddress.ListCount - 1
<P>If cboAddress.List(i) = brwWebBrowser.LocationURL Then
<P>bFound = True
<P>Exit For
<P>End If
<P>Next i
<P>mbDontNavigateNow = True
<P>If bFound Then
<P>cboAddress.RemoveItem i
<P>End If
<P>cboAddress.AddItem brwWebBrowser.LocationURL, 0
<P>cboAddress.ListIndex = 0
<P>mbDontNavigateNow = False
<P>End Sub
<P>Private Sub cboAddress_Click()
<P>If mbDontNavigateNow Then Exit Sub
<P>timTimer.Enabled = True
<P>brwWebBrowser.Navigate cboAddress.Text
<P>End Sub
<P>Private Sub cboAddress_KeyPress(KeyAscii As Integer)
<P>On Error Resume Next
<P>If KeyAscii = vbKeyReturn Then
<P>cboAddress_Click
<P>End If
<P>End Sub
<P>Private Sub Form_Resize()
<P>cboAddress.Width = Me.ScaleWidth - 100
<P>brwWebBrowser.Width = Me.ScaleWidth - 100
<P>brwWebBrowser.Height = Me.ScaleHeight - (picAddress.Top +
picAddress.Height) - 100
<P>End Sub
<P>Private Sub timTimer_Timer()
<P>If brwWebBrowser.Busy = False Then
<P>timTimer.Enabled = False
<P>Me.Caption = brwWebBrowser.LocationName
<P>Else
<P>Me.Caption = "运行中..."
<P>End If
<P>End Sub
<P>Private Sub tbToolBar_ButtonClick(ByVal Button As Button)
<P>On Error Resume Next
<P>timTimer.Enabled = True
<P>Select Case Button.Key
<P>Case "Exit"
<P>Unload Me
<P>Case "Back"
<P>brwWebBrowser.GoBack
<P>Case "Forward"
<P>brwWebBrowser.GoForward
<P>Case "Refresh"
<P>brwWebBrowser.Refresh
<P>Case "Home"
<P>brwWebBrowser.GoHome
<P>Case "Search"
<P>brwWebBrowser.GoSearch
<P>Case "Open"
<P>brwCommonDialog.ShowOpen
<P>cboAddress.Text = brwCommonDialog.filename
<P>Case " Navigate"
<P>brwWebBrowser.Navigate cboAddress.Text
<P>Case "Stop"
<P>timTimer.Enabled = False
<P>brwWebBrowser.Stop
<P>Me.Caption = brwWebBrowser.LocationName
<P>End Select
<P>End Sub
<P>最后编绎全部程序,其运行结果如图1所示。
<P>图1.所设计的浏览器
<P>2.用WebBrowser控件设计浏览器
<P>用WebBrowser控件设计浏览器的方法相对前面的方法而言,具 体操作要多一点,因为对应的每个控件都要设置属性并编写相应的
代码,从而编程量也要相对地大一些。下面来具体说明其方法和步 骤。
<P>(1)新建一个项目并打开一个新的窗体Form1;
<P>(2)用鼠标右键单击工具箱以添加新的部件Microsoft Common Dialog Controls、Microsoft Windows
Common Controls 5.0和 Microsoft Internet Controls;
<P>(3)在窗体Form1中添加一个Toolbar控件Toolbar1,然后打开
Toolbar1控件的Properties(属性)页,在Button(按钮)选项卡 中单击Insert
Button按钮,增加Back(向后)、Forward(向 前)、Stop(停止)、Refresh(刷新)、Home(归位)、Search
(搜索)、Open(打开)、Navigate(导航)、Exit(退出)等常 用命令按钮;
<P>(4)添加一个ImageList控件ImageList1到窗体Form1中,打开
Imagelist1控件的Properties(属性)页,在Images(图象)选项 卡中单击Insert
Picture按钮,输入一些对应按钮的合适的图标, 然后到tbToolbar控件的Properties(属性)页中设置General选项
卡中的ImageList值与Buttons选项卡中的Image值,使上述命令按 钮与合适的图标相对应;
<P>(5)从工具箱中选出CommonDialog(通用对话框)控件添加到
浏览器窗体中,将其命名为CommonDialog1,为编写与Open按钮相 应的事件代码作准备;
<P>(6)添加一个Label控件Label1到窗体Form1中,将其Caption值 设置为“地址(URL):”,再在此控件附近合适的位置添加一个
ComboBox控件Combo1,以便生成Web地址的下拉列表框;
<P>(7)添加一个WebBrowser控件WebBrowser1到窗体Form1中,将 其调整到合适的位置上;
<P>(8)添加一个Timer控件Timer1,将其Enabled与Interval值分 别设置为False和5;
<P>(9)在Form1窗体的属性窗口中将MDIChild属性值设置为 False;
<P>(10)在该项目的属性设置窗口中的启动对象设置为Form1窗 体;
<P>(11)为对应窗体和每个控件等对象编写相应的事件程序代码, 具体可参照前面的程序代码,只要更换一下相应的窗体或控件等对
象的名称,其他的基本相同,在此就不赘述了。
<P>无论用Visual Basic 5.0现成的浏览器(Browser)窗体还是用
WebBrowser控件来设计简单的Web浏览器都比较容易。就两种方法 相比较而言,前者因浏览器(Browser)窗体本身集成了一些基本的
控件,并且相应的代码已经写好,要做的只是为添加的控件或菜单 等编写代码,所以显得较为简单些;而后者因每一个窗体或控件等
对象都要进行选择、添加、设计、编写代码等,所以相对较为复杂 些。无论怎样都能在此基础上进行扩充,从而设计出较为高级的浏 览器来。PCC</P> <!--msnavigation--></TD></TR><!--msnavigation--></TBODY></TABLE></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -