1、VB第15章 Internet编程VB为创建Internet应用程序提供了多种不同的方式。通过VB中新的Internet编程特性,VB程序员利用他的技能只需要很少的努力就可以制作出动态的、功能强大的Internet应用程序。现在的Web页不仅仅是一些文档资料,而更像是Windows的应用程序,其中也包括各种控件,可以与用户进行交互。在Web页中,这些控件的内部代码可以使用VBScript来编写。VBScript是VB语言的一个子集,对于VB程序员,可以很容易掌握使用VBScript来激活Web页。本章要介绍的是编写ActiveX文档和Webbrowser控件的使用。ActiveX文档是VB的I
2、nternet 应用程序,而使用Webbrowser控件则可以开发出自己的浏览器。15.1 编写ActiveX文档ActiveX文档是VB的Internet应用程序,与普通应用程序不同的是,ActiveX文档是在Internet Explorer浏览器中运行的。用普通应用程序所作的任何事情,几乎都可以用ActiveX文档来完成。在新建工程时,在“新建工程”对话框中选择工程类型为“ActiveX文档EXE”(如图15.1所示),单击“确定”按钮即可新建一个ActiveX文档。图15.1 “新建过程”对话框与创建ActiveX控件类似,ActiveX文档创建在一个称作UserDocument对象上
3、,如图15.2所示。图15.2 UserDocument对象编写ActiveX文档与编写普通应用程序没有什么区别,一般地说,用户可以将任何普通应用程序编写成ActiveX文档。但并不是所有的语句在ActiveX文档中都可用,例如,ActiveX文档不能识别End语句,不能使用它来结束应用程序,因为ActiveX文档运行在浏览器中,这等同于要关闭浏览器。用户可以通过转移到另一个URL来结束应用程序。ActiveX文档也不支持窗体的Show、Load、Hide与Unload方法。在需要切换窗体时要使用超链接。15.1.1 超链接对象普通应用程序一般由多个窗体组成,这些窗体在运行时显示为多个独立的窗
4、口,每个窗口在桌面系统上都可以同时保持打开状态,用户可以在它们之间切换。对于IE浏览器来讲,它只是一个单窗口,不能同时打开多个窗体,只能一次显示一个单一ActiveX文档。为了能在IE中浏览一个多重ActiveX文档,则必须在各文档上建立超链接,以便能在各文档间进行切换。可以通过UserDocument对象的Hyperlink属性来在ActiveX文档中建立超链接。Hyperlink属性同时又是一个对象,它具有以下几种用于导航的方法: NavigateTo:链接到另一个ActiveX文档或URL GoBack:后退至上一个访问过的URL GoFoward:前进到下一个URL例如: 链接到首都在
5、线UserDocument.Hyperlink.NavigateTo 实例15.1 建立ActiveX文档在窗体上放置4个标签、一个按钮控件、一个计时器控件和一个框架控件,并且在框架控件上放置4个单选按钮控件,如图15.3所示。其中各控件的属性设置如表15.1所示。图15.3 ActiveX文档的设计表15.1 ActiveX文档中各控件的属性设置对象属性值标签1Caption现在日期:标签2名称LabDateBorderStyle1Caption置空标签3Caption现在时间:标签4名称LabTimeBorderStyle1Caption置空框架Caption选择网站单选按钮1名称OpTu
6、Caption清华大学单选按钮2名称OpCaCaption首都在线单选按钮3名称OpSiCaption新浪网单选按钮4名称OpShCaption搜狐按钮名称ComLinkCaption友情链接编写代码如下:Private Sub ComLink_Click() If OpTu.Value = True Then UserDocument.Hyperlink.NavigateTo End If If OpCa.Value = True Then UserDocument.Hyperlink.NavigateTo End If If OpSi.Value = True Then UserDocum
7、ent.Hyperlink.NavigateTo End If If OpSh.Value = True Then UserDocument.Hyperlink.NavigateTo End IfEnd SubPrivate Sub Timer1_Timer() LabDate.Caption = Date LabTime.Caption = TimeEnd Sub从以上过程中可以看出,创建ActiveX文档与创建普通的应用程序并没有本质的区别。单击工具栏中的“启动”按钮运行该程序,则自动启动IE浏览器,使ActiveX文档显示在浏览器中,如图15.4所示。图15.4 运行ActiveX文档选
8、中某个单选按钮,单击“友情链接”按钮,即可链接到所选的主页上。例如,选中“清华大学”单选按钮,单击“友情链接”按钮,则链接到清华大学的主页,如图15.5所示。 图15.5 链接到清华大学主页提示:单击浏览器工具栏中的“后退”按钮,可回到ActiveX文档。执行“文件”菜单下的“生成EXE”命令,可将ActiveX文档编译成一个.exe文件和一个.vdb文件,其中.vdb文件可在IE中打开。15.1.2 将VB应用程序转换成ActiveX文档通过ActiveX文档移植向导还可以将所创建的应用程序转换成ActiveX文档,这就是说,可以将桌面应用程序转变为Web应用程序。ActiveX文档移植向导
9、为外接程序,首先需要使用“外接程序”菜单中的“外接程序管理器”命令将它加载到VB集成环境中。本节把在第6章中创建的复选框应用程序(如图15.6所示)转换为ActiveX文档,具体步骤如下:图15.6 要转换的应用程序1. 在VB中打开要转换的应用程序。2. 执行“外接程序”中的“ActiveX文档移植向导”命令,则弹出如图15.7所示的“介绍”对话框。图15.7 “介绍”对话框3. 单击“下一步”按钮,则弹出如图15.8所示的“选择窗体”对话框,从中选择窗体Form1。图15.8 “选定窗体”对话框4. 单击“下一步”按钮,弹出如图15.9所示的“选项”对话框,选中“转换成ActiveX EX
10、E单选按钮”。图15.9 “选项”对话框5. 单击“下一步”按钮,弹出如图15.10所示的“已完成”对话框,选中“否”单选按钮,再单击“完成”按钮即可将所选的应用程序转换为ActiveX文档。图15.10 “已完成”对话框运行转换后的应用程序,则应用程序出现在IE浏览器中,如图15.11所示。它的功能与普通应用程序的功能完全相同。图15.11 运行转换后的应用程序15.2 使用Webbrowser控件Webbrowser控件就是IE浏览器窗口,任何可以在IE浏览器中显示的文档,都可以在Webbrowser控件中显示。由于Webbrowser控件是一种ActiveX控件,可以将它像其他控件一样放
11、置在VB应用程序的窗体上。因此,使用Webbrowser控件可以为应用程序添加浏览功能,使用户可以在VB应用程序中浏览WWW站点、HTML文档、ActiveX文档和本地文件,如Word和Excel文档等。在“部件”对话框中选择添加Microsoft Internet Controls选项,即可将Webbrowser控件添加到工具箱中。将Webbrowser控件放置到窗体上,它表现为一个无边框的矩形,这个矩形就是最终的浏览窗口,并且在运行时用户不能缩放Webbrowser控件。最好在程序中编写控制Webbrowser控件大小的代码,使之能够随窗体的缩放而缩放。1. Webbrowser控件的几个
12、重要方法(1)Navigate方法该方法用来链接到指定的网页,例如:WebBrowser1.Navigate 链接到清华大学主页WebBrowser1.Navigate e:index.htm 浏览E:盘中的HTML文档WebBrowser1.Navigate e:第3章.doc 浏览:E盘中的Word文档(2)GoBack与GoForward方法Webbrowser控件会自动记录已访问的页面,通过这两种方法可以向后或向前移动一个历史记录。(3)GoHome通过该方法可使Webbrowser控件中显示IE中设置的主页。(4)Refresh该方法用来重新装入当前显示的Webbrowser控件中的
13、页面。2. Webbrowser控件的重要属性LocationName和LocationURL是Webbrowser控件的两个较重要的属性,它们在设计时不可用,且是只读的。LocationName属性用来返回Webbrowser控件上显示的Web页面的标题;LocationURL属性用来返回Webbrowser控件上显示的Web页面的URL。如果Webbrowser控件上显示的是本地文件,则LocationName属性返回文件的名称,LocationURL属性则返回文件的完整路径。3. Webbrowser控件的重要事件(1)BeforeNavigate该事件在Webbrowser控件要转移到
14、另一个URL时发生。(2)NavigateComplete该事件在Webbrowser控件成功转移到另一个URL后发生。(3)TitleChange该事件在Webbrowser控件中的页面的标题改变时发生。可以使用它来更新窗体的Caption属性,使得在窗体的标题栏上显示当前页面的标题。(4)NewWindow有些超链接会打开新的窗口来显示目标页面,在生成新窗口时,会触发NewWindow事件。实例15.2 创建自己的浏览器在窗体上放置一个组合框控件、3个按钮控件和一个Webbrowser控件,如图15.12所示。其中各对象的属性设置如表15.2所示。 图15.12 实例15.2的窗体设计表1
15、5.2 实例15.2中各对象的属性设置对象属性值窗体名称FormWebCaption我的浏览器组合框名称ComSite按钮1名称ComHomeCaption主页按钮2名称ComBackCaption后退按钮3名称ComForwardCaption前进Webbrowser控件名称WebB编写代码如下:Private Sub Form_Load() ComSite.AddItem 清华大学 ComSite.AddItem 首都在线 ComSite.AddItem 中央电视台 ComSite.AddItem 网易 ComSite.AddItem 搜狐 ComSite.Text = 清华大学 WebB
16、.GoHomeEnd SubPrivate Sub Form_Resize() WebB.Left = 200 WebB.Top = 900 WebB.Width = FormWeb.ScaleWidth - 400 WebB.Height = FormWeb.ScaleHeight - 1000End SubPrivate Sub ComSite_Click() Select Case ComSite.Text Case 清华大学 WebB.Navigate 链接到清华大学主页 Case 首都在线 WebB.Navigate 链接到首都在线主页 Case 中央电视台 WebB.Navigat
17、e 链接到中央电视台主页 Case 网易 WebB.Navigate 链接到网易主页 Case 搜狐 WebB.Navigate 链接到搜狐主页 End SelectEnd SubPrivate Sub ComSite_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then WebB.Navigate ComSite.Text 按回车键链接到相应的网页或文档 End IfEnd SubPrivate Sub Comhome_Click() WebB.GoHome 链接到IE中设置的主页End SubPrivate Sub Comback_Clic
18、k() On Error GoTo ww WebB.GoBack Exit Subww: MsgBox 没有历史记录, 64, 提示End SubPrivate Sub ComForward_Click() On Error GoTo ww WebB.GoForward Exit Subww: MsgBox 没有历史记录, 64, 提示End Sub在窗体标题栏上显示Web页的标题Private Sub WebB_TitleChange(ByVal Text As String) FormWeb.Caption = WebB.LocationNameEnd Sub运行该程序后,窗体上出现IE中设置的主页,如图15.13所示。在组合框中选择某个网站,则窗体上将显示该网站的首页;用户也可以直接在组合框中输入网址,按回车键即可链接到该网页;也可以在窗体中浏览本地文件,如图15.14所示的是在窗体中显示Word文档。单击“后退”与“前进”按钮可向前或向后移动历史记录,如果没有历史记录,则弹出如图15.15所示的消息框。 图15.13 启动后的应用程序图15.14 在中窗体中显示Word文档图15.15 消息框
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1