您好,欢迎来到九壹网。
搜索
您的当前位置:首页VB电子教材01

VB电子教材01

来源:九壹网


第1章 Visual Basic 6.0概述

1.1 Visual Basic简介

1.1.1 Visual Basic的发展过程

Basic是英文Beginner's All-Purpose Symbolic Instruction Code(初学者通用符号指令代码)的缩写,是专门为初学者设计的计算机语言。它诞生于19年,最初问世时只有几十条语句,由于简单易学而受到了用户的欢迎,很快就应用于各个领域。

近几年来,Basic语言有了很大发展,各种版本应运而生,功能得到进一步增强,因而成为最常用和最具活力的计算机程序设计语言之一。

随着计算机技术的飞速发展,美国微软公司的Microsoft Windows以其具有多任务性、图形用户界面等强大功能,而成为当今微型计算机操作系统的主流产品。众多的软件开发者已从原来的DOS软件开发转向Windows。许多商用软件公司为适应这一趋势,推出了不少Windows环境下的软件开发工具,Visual Basic就是在这样的形势下诞生的。

早在1991年,为了简化Windows应用程序的开发,微软公司推出了Visual Basic 1.0,它极大地改变了人们对Windows的看法以及使用Windows的方式。

Visual Basic(简称为VB)是Microsoft公司为开发Windows应用程序而提供的强有力的开发环境和工具,是具有很好的图形用户界面(Graphic User Interface,简写为GUI)的程序设计语言。VB应用程序的开发以对象为基础,并运用事件驱动机制实现对Windows操作系统的事件响应。VB提供了大量控件,可用于设计界面和实现各种功能,用户可以通过拖放操作完成界面设计,不仅大大减轻了工作量、简化了界面设计过程,而且有效地提高了应用程序的运行效率与可靠性。

VB提供了各种常用功能,如界面设计、计算与绘图、网络通信、数据访问和Internet访问等。使用VB不仅可以感受到Windows带来的新技术、新概念和新的开发方法,还可以感受到VB是众多Windows软件开发工具中效率最高的一个,是开发Windows应用程序的理想工具。

在随后的几年中,VB几经修改完善,版本不断升级,于1998年推出了VB 6.0。它是微软推出的VB家族中的最新成员,是一个运行在Windows 95或Windows NT操作系统下、32位应用程序的开发工具。VB 6.0(以下简称为VB)在VB 5.0的基础上,在Internet应用和远程数据访问等方面进行了较大改进,增加了一些新控件并增强了已有功能。 1.1.2 编制VB应用程序的基本步骤

启动VB后,编制应用程序的三个基本步骤依次为:界面设计,过程设计,调试运行。 下面通过一个求解一元二次方程实根的具体实例加以说明,使读者建立对这一过程的感性认识,并会用其他简例模仿这一过程。本节中所涉及的“工程”、“控件”、“属性”等名词,

2 Visual Basic 6.0程序设计教程

将在1.3节中介绍。

⒈ 启动VB

安装VB后,“开始”菜单的“程序”组中将多出一个“Microsoft Visual Basic 6.0 中文版”菜单选项,这时就可以启动VB了,步骤如下:

⑴ 单击Windows 任务栏的“开始”按钮,从“程序”组中选择其中的“Microsoft Visual Basic 6.0 中文版”启动VB后,显示如图1-1所示的“新建工程”窗口,提示用户选择应用程序类型。

图1-1 “新建工程”窗口

⑵ 在“新建”标签中选择“标准EXE”,VB显示集成开发环境主窗口,如图1-2所示。 在集成开发环境中集中了许多不同的功能,如程序设计、编辑、编译和调试等,所有的任务正是在这一环境中完成的。

图1-2 集成开发环境主窗口

第1章 Visual Basic 6.0概述 3

⒉ 界面设计 ⑴ 添加控件

在窗口左边的工具箱中,选中

(标签控件Label),在窗体上用鼠标拖动,画出这一控件。

)和两个命令

)。若在窗体Form1上绘出了程序所需的控件,

用同样的方法画出其他三个标签、四个文本框(TextBox,在工具箱中图标为按钮(CommandButton,在工具箱中图标为

同类型的控件序号将依次自动增加。添加控件后的程序界面如图1-3所示。

图1-3 示例界面设计之一

向窗体中添加控件的方法有两种:

① 单击工具箱中的控件图标,鼠标指针变成一个十字指针,在窗体的工作区按住鼠标左键拖动鼠标,即可在窗体上画出对应的控件。

② 双击工具箱中的控件图标,即可在窗体的画出控件。

第二种方法与第一种方法的不同之处是,第一种方法画出的控件大小和位置可随意确定,而第二种方法画出的控件的大小和位置是暂时固定的。当然,控件的大小和位置都可以根据需要进行修改。

在界面设计时,在窗体上画出控件后,控件的边框上出现8个蓝色小方块,这表明该控件是“活动”的,通常称为“当前控件”。用鼠标单击控件,可以使之成为当前控件。

对于选中的控件(即当前控件),可以用两种方法进行缩放和移动:

① 直接使用鼠标拖动控件到需要的地方。利用鼠标指针对准控件的选中标志(8个小方块)当出现双向箭头时,可以改变控件的大小(即高度和宽度)。

② 在属性窗口修改某些属性来改变控件的大小和位置。

与窗体和控件大小及位置有关的控件属性有Left、Top、Width及Height。其中,(Left,Top)是窗体或控件左上角的坐标,Width是其宽度,Height是其高度。在属性窗口中可以找到这些属性,修改其值即可改变控件的大小和位置。

按照前面介绍的方法确定所需控件的位置、大小等属性后,可以继续设置各对象的其他属性,从而完成应用程序的界面设计。

⑵ 设置属性

设置对象属性可以在属性窗口中进行,一般采用的操作方法是:用鼠标单击选中该对象,在随后出现的该对象的属性窗口中对属性值作修改。设置属性实际上是对原有属性的修改,对

4 Visual Basic 6.0程序设计教程

象的任何属性用户不作设置则该属性值取VB的缺省值。

① 设置窗体的属性

设置窗体如Form1的属性的方法是:单击窗体的空白区域(不是任何其他控件),在属性窗口中找到标题属性Caption,其缺省值为Form1,可以将其值改为“简单示例”。

当然,窗体的其他属性也可根据程序的需要进行设置,如窗体的名称属性Name、运行时窗体的背景颜色、边框风格、窗体的大小等。

② 设置窗体中其他控件的属性

单击选中某个控件,在该控件的属性窗口中根据需要逐一设置控件的各属性。

若选中标签控件“Label1”,将其边框风格属性(BorderStyle)改为“1-Fixed”。然后用鼠标单击字体属性(Font)右边的“...”按钮,从弹出的“字体”对话框(如图1-4所示)中设置字体类型为“隶书”、字体大小为“三号”。

图1-4 “字体”对话框

选中标签控件Label2,将其Caption设置为“A=”,AutoSize设置为“True”,设置字体大小为“二号”。用同样的方法设置标签控件Label3、Label4。

图1-5 示例界面设计之二

第1章 Visual Basic 6.0概述 5

选中文本框控件Text1,将其Text属性值设置为空字符串,设置字体类型为“黑体”、字体大小为“四号”。用同样的方法设置其他文本框控件。

将两个命令按钮的标题(Caption)分别设置为“计算”和“结束”。 所有控件的其他属性均采用缺省值。属性设置后的窗体如图1-5所示。 ⒊ 过程设计

在菜单栏中“视图”各选项中选择“代码窗口”(打开后的代码窗口如图1-14、1-15所示),单击“对象”下拉列表框右边的箭头按钮,从中选择Form对象。

在“过程”的事件下拉列表框中选择Load事件,在代码窗口中输入下列代码。窗体的Load事件在运行中加载窗体时被自动执行,通常在该过程中动态设置一些对象的属性。 Private Sub Form_Load()

Label1.Caption = \"解一元二次方程的根\" End Sub

用同样的方法,输入命令按钮Command1和Command2的单击(Click)事件过程代码: Private Sub Command1_Click()

Dim A As Single, B As Single, C As Single Dim X1 As Single, X2 As Single A = Val(Text1.Text) B = Val(Text2.Text)

C = Text3.Text 'VB6.0 自动转换输入字符串为数值变量C赋值。 If B * B - 4 * A * C > = 0 Then

X1 = (-B + Sqr(B * B - 4 * A * C )) / (2 * A) X2 = (-B - Sqr(B * B - 4 * A * C )) / (2 * A)

Text4.Text = \"X1=\" & Str(X1) & Space(2) & \"X2=\" & Str(X2) Else

Text4.Text = \"方程无实根\" End IF End Sub

Private Sub Command2_Click() End End Sub

事件过程的首尾两行“Private Sub Command1_Click()”、“End Sub”由系统自动给出。 程序中的逗号、引号等符号都必须是英文符号,中文标点符号只能出现在字符串中。如执行语句 Print \"“走好,您哪!”\",窗体上显示“走好,您哪!”。

由单引号或关键字Rem开始的一行文字,是程序中的注释语句,在程序运行时,注释部分将被忽略,程序员为提高程序的易读性,在程序中插入适量的注释是较好的编程风格之一。

⒋ 调试运行

单击工具栏上的“启动”按钮或按F5键,即运行工程。在文本框中输入一元二次方程的三个系数,用鼠标单击“计算”按钮,窗体显示如图1-6所示,单击“结束”按钮,则程序结束。

6 Visual Basic 6.0程序设计教程

图1-6 示例之运行结果

单击工具栏上的“结束”按钮也可结束程序运行,返回“窗体设计器”窗口。 在程序运行时,可以反复输入系数值,然后单击“计算”,得到多个方程的根。

如果应用程序的运行结果不符合设计的要求,则需要修改程序。修改程序包括修改对象的属性和代码,也可以添加新的对象和代码,或者调整控件的大小等,直到满足设计需要为止。

注意:在本例中,如果不输入系数而直接单击“计算”,则程序出错。如何限定必须先输入文本框中数据后才能单击“计算”按钮的呢(即限定各控件的事件过程响应的先后顺序)?可以将示例程序作如下修改:

⑴ 界面设计,在窗体上添加命令按钮Command3,将其Caption属性值设置为“开始”。 ⑵ 过程设计,增加、修改事件过程如下:

Rem 求解一元二次方程的根,每行首部的关键字Rem的作用是使本行作为注释行。 Private Sub Form_Load()

Label1.Caption = \"求一元二次方程的根\"

'注意:Label控件的名称“Label1”中,最后2个字符依次是小写字母L、数字1。 Command1.Enabled = False '锁定“计算”按钮、不响应鼠标单击的事件。 End Sub

Private Sub Command3_Click() '单击“开始”按钮的事件过程

Text1.SetFocus '使Text1获得输入焦点(输入光标在文本框中闪烁) Text4.Text = \"\" '清空文本框Text4,如重新开始则清除上次计算的显示结果。 Command3.Visible = False '设定“开始”按钮为不可见。 End Sub

Private Sub Text1_KeyPress(KeyAscii As Integer)

'在控件Text1的文本框内输入回车(Ascii码为13)后,Text2获得输入焦点。 If KeyAscii = 13 Then Text2.SetFocus End Sub

Private Sub Text2_KeyPress(KeyAscii As Integer) '在控件Text2的文本框内输入回车后,Text3获得输入焦点。 If KeyAscii = 13 Then Text3.SetFocus End Sub

第1章 Visual Basic 6.0概述 7

Private Sub Text3_KeyPress(KeyAscii As Integer)

'在Text3的文本框内输入回车后,激活Command1按钮、可响应该控件的事件过程。 If KeyAscii = 13 Then Command1.Enabled = True End Sub

Private Sub Command1_Click()

Dim a As Single, b As Single, c As Single Dim x1 As Single, x2 As Single

a = Val(Text1.Text) : b = Val(Text2.Text) : c = Val(Text3.Text) If b * b - 4 * a * c >= 0 Then

x1 = (-b + Sqr(b * b - 4 * a * c)) / (2 * a) x2 = (-b - Sqr(b * b - 4 * a * c)) / (2 * a)

Text4.Text = \"x1=\" & Str(x1) & Space(2) & \"x2=\" & Str(x2) Else

Text4.Text = \"方程无实根\" End If

Text1.Text = \"\" : Text2.Text = \"\" : Text3.Text = \"\" Command1.Enabled = False '锁定“计算”按钮为不可用。 Command3.Visible = True '恢复“开始”按钮为可见。 End Sub

Private Sub Command2_Click() End End Sub ⑶ 调试运行

程序启动后,加载窗体(Form1),自动触发Load事件,执行Form_Load事件过程代码,设置Label1的Caption属性值,并将计算按钮设置为无效(不可用,灰色),如图1-7a所示:

图1-7a 示例程序修改后之运行结果一

单击开始按钮,将焦点设置到文本框1(在Text1上有一闪动的光标,可以直接输入二次项系数),此时开始按钮被设置为不可见,如图1-7b所示:

8 Visual Basic 6.0程序设计教程

图1-7b 示例程序修改后之运行结果二

在文本框1中输入二次项系数,按回车键,触发Text1_KeyPress事件,将焦点设置到Text2;输入一次项系数,按回车键,触发Text2_KeyPress事件,将焦点设置到文本框3;输入常数项系数后,触发Text3_KeyPress事件,将计算按钮设置为有效。此时,用户界面如图1-7c所示:

图1-7c 示例程序修改后之运行结果三

单击计算按钮,则Text4显示计算结果、其他文本框被清空,“计算”按钮再次设置为无效,“开始”按钮恢复为可见,如图1-7d所示:如此可以反复输入系数值,多次计算不同的方程。

图1-7d 示例程序修改后之运行结果四

第1章 Visual Basic 6.0概述 9

⒌ 退出VB

在退出VB之前,需要保存设计好的应用程序,即将程序以文件的形式保存到磁盘上,在VB中称为保存工程。一般是先将程序写入磁盘,然后再调试程序;当然,也可先对程序进行调试和运行,再写入磁盘。

⑴ 保存工程

常用下面两种方法保存工程:

① 单击“文件”菜单中的“保存工程”或“工程另存为”。 ② 单击工具栏上的“保存工程”按钮。

如果要保存从未保存过的新建工程,系统则打开“文件另存为”对话框,如图1-8所示。

图1-8 “文件另存为”对话框

由于一个工程含有多种文件,如工程文件和窗体文件,这些文件集合在一起才能构成应用程序。因此,建议用户在保存工程时,将同一工程所有类型的文件都存放在同一文件夹中,以便日后修改和管理程序文件。在“文件另存为”对话框中可以选择文件夹或选中图标 按钮 创建新文件夹。

保存工程时,窗体文件和工程文件等需要分别保存。系统会要求用户输入文件名、选择文件的保存类型。窗体文件的保存类型为“窗体文件(*.frm)”,默认窗体文件名为“Form1”,窗体文件存盘后系统自动弹出“工程另存为”对话框,工程文件的保存类型为“工程文件(*.vbp)”,默认工程文件名为“工程1.vbp”。

如果想保存磁盘上已有而修改后的工程文件,直接单击工具栏上的“保存工程”按钮或“文件”菜单中的“保存工程”。此时,系统不会弹出“工程另存为”对话框。因此,若要将已经存在的工程保存到其他文件夹中或用其他文件名保存,则需要选择“工程另存为”菜单。

⑵ 工程的编译

当完成工程的全部文件之后,可以将此工程转换成可执行文件(.exe)。

在VB中对程序(工程)的编译非常简单,在“文件”菜单中选择“生成工程1.exe”。在打开的“生成工程”对话框中选择程序所保存的文件夹和文件名,然后单击“确定”按钮即可生成Windows中的应用程序,以后此工程即可脱离VB环境直接在Windows 下运行(不要求在

10 Visual Basic 6.0程序设计教程

该系统中安装VB)。

值得注意的是:对于一些简单的应用程序,所生成的执行文件可以直接在Windows下执行,但对于一些复杂的应用,它的执行还依赖于一些类和库文件(如DLL和OCX文件)。所以为了能够发布自己的程序,还需要将这些类库文件与应用程序一起打包(创建一个安装包)。

要为应用程序创建安装包,可以在Windows系统的“开始”菜单中选择“程序”中的“Microsoft Visual Basic6.0中文版”,再选择其中的“Microsoft Visual Basic6.0中文版工具”中的“Package & Deployment”,在“打包和展开向导”中完成。

当完成一个应用程序的设计后,如果还有其他的设计任务,则可选择“文件”菜单的“新建工程”选项。如果要退出VB,可单击图1-2中VB窗口的“关闭”按钮,或选择“文件”菜单中的“退出”命令,VB会自动判断用户是否修改了工程的内容,并询问用户是否保存文件或直接退出。

1.2 VB集成开发环境

VB提供了集成开发环境(IDE),将应用程序的开发、测试、查错等功能集于一体,大大降低其操作复杂性,提高了开发效率。VB集成开发环境除了具有标准Windows环境的标题栏、菜单栏、工具栏外,还有工具箱、工程资源管理器窗口、属性窗口、窗体设计器等组成。 1.2.1 菜单栏

菜单栏提供开发应用程序所需的选项,包括“文件”、“编辑”、“视图”、“工程”、“格式”、“调试”、“运行”、“工具”、“外接程序”、“窗口”、“帮助”等菜单项,包含了VB编程的常用命令。

⒈ “文件”菜单项

包括用于文件操作的全部选项,如新建工程、打开工程、保存工程等。 ⒉ “编辑”菜单项

包括正文编辑和控件编辑的操作选项。 ⒊ “视图”菜单项

包括显示或隐藏集成开发环境中各种窗口如代码窗口、对象窗口、工程资源管理器窗口、属性窗口、工具箱、工具栏等的操作选项。

⒋ “工程”菜单项

包括用于多窗体程序设计的添加窗体选项、向工具箱添加控件的部件选项、用于设置某些工程属性的选项等。

⒌ “格式”菜单项

包括对齐窗体中控件的选项。 ⒍ “调试”菜单项 包括常用程序查错等选项。

第1章 Visual Basic 6.0概述 11

⒎ “运行”菜单项

包括程序的启动和结束等选项。 ⒏ “工具”菜单项

包括启动菜单编辑器等选项。 ⒐ “外接程序”菜单项

包括VB外接程序及外接程序管理器等。 ⒑ “窗口”菜单项 包括控制窗口布局的选项。 ⒒ “帮助”菜单项 包括获取帮助信息的选项。 1.2.2 工具栏

菜单栏的下面是工具栏,工具栏提供了许多常用命令的快速访问按钮,单击某个按钮,即可执行相应的操作。主要有:

⒈ 添加窗体

在工程中加入新窗体,在工具栏上的图标为⒉ 菜单编辑器

打开VB菜单编辑器,在工具栏上的图标为⒊ 打开工程

打开指定工程,在工具栏上的图标为⒋ 保存工程

保存当前工程,在工具栏上的图标为⒌ 剪切

剪切文本、控件等,在工具栏上的图标为⒍ 复制

复制文本、控件等,在工具栏上的图标为⒎ 粘贴

粘贴文本、控件等,在工具栏上的图标为⒏ 启动

启动应用程序,在工具栏上的图标为⒐ 结束

终止应用程序的执行,在工具栏上的图标为

。 。 。 。 。

。 。

12 Visual Basic 6.0程序设计教程

⒑ 工程资源管理器

显示工程资源管理器窗口,在工具栏上的图标为⒒ 属性窗口

显示属性窗口,在工具栏上的图标为⒓ 工具箱

打开、显示工具箱,在工具栏上的图标为1.2.3 工具箱

工具箱如图1-9所示,其中每个图标表示一种控件,包含了建立应用程序所需的常用控件。

指针(选择对象) ———— —————图片框 (PictureBox) 标签(Label) ————— —————文本框(TextBox)

框架(Frame) ————— —————命令按钮(CommandButton) 复选框(CheckBox) —— —————单选按钮(OptionButton) 组合框(ComboBox) —— —————列表框(ListBox) 水平滚动条(HscrollBar)— —————垂直滚动条(VscrollBar) 定时器(Timer) ———— —————驱动器列表框(DriveListBox) 目录列表框(DirListBox)— —————文件列表框(FileListBox) 形状(Shape) ————— —————画线(Line) 图像框(Image) ———— —————数据库(Data)

图1-9 VB工具箱中的常用控件类型

图1-10 “部件”对话框

第1章 Visual Basic 6.0概述 13

根据程序设计的需要,在工具箱中还可扩充、添加新控件,某操作步骤如下:

首先,在工具箱的空白处单击鼠标右键,在弹出的快捷菜单中选择“部件”,或单击“工程”菜单的“部件”选项,弹出“部件”对话框,如图1-10所示。

然后,在打开的“部件”对话框中,选中需要的控件,单击“确定”按钮后退出,则所选择的控件即可添加到工具箱中。 1.2.4 工程资源管理器窗口

工程资源管理器窗口采用Windows资源管理器式的界面,可以列出当前工程中的所有文件,如图1-11所示。

图1-11 工程资源管理器窗口

工程资源管理器窗口中,有“查看代码”、“查看对象”和“切换文件夹”三个按钮。 单击“查看代码”按钮,可打开“代码编辑器”查看代码;

单击“查看对象”按钮,可打开“窗体设计器”查看正在设计的窗体;

单击“切换文件夹”按钮,则可以隐藏或显示包含在对象文件夹中个别项目列表。 一个VB应用程序可包括多个工程,本书只介绍包括一个工程的应用程序。 在此,“工程”是指用于创建一个应用程序的所有文件的集合:

每个工程至少有一个窗体,保存VB应用程序后,至少生成一个扩展名为.frm的窗体文件。该文件记录窗体中描述所有控件外观、行为的程序代码,以及描述事件过程的程序代码、通用模块(通用模块包括模块级变量的声明语句、用户定义的可以为其他过程调用的通用过程)。

每个工程一定有一个扩展名为.vbp的工程文件,工程文件是与该工程有关的所有文件和对象的清单。

有些工程还包括与窗体文件主名相同、扩展名为.frx的文件,记录了被窗体中的控件调用的外部数据。如图像框、影像框控件中调用的图像文件。当生成了.frx文件后,删除作为其数据源的外部文件,不会影响VB应用程序的执行。 1.2.5 属性窗口

“属性”窗口如图1-12所示,用于设置所选对象的属性,如对象大小、标题、颜色等。 在设计应用程序界面时,属性窗口中显示的是相应对象的缺省属性值。

在属性窗口中,一些属性(如Caption)可以直接设置;另外一些属性可通过列表选择属性值;还有一些属性则通过打开的对话框窗口选择设置,如字体对话框和用于颜色设置的调色板窗口(如图1-13所示)。

14 Visual Basic 6.0程序设计教程

图1-12 属性窗口 图1-13 调色板窗口

1.2.6 窗体设计窗口

“窗体设计窗口”也称为对象窗口。应用程序的用户界面设计,就是通过在窗体上画出各种所需要的控件并设置相应的属性来完成的。 1.2.7 代码设计窗口

“代码设计窗口”也称为代码窗口(见图1-14)或代码编辑器。应用程序的各个通用过程和事件过程代码均在此窗口上编写和修改。

有4种方法可以打开代码设计窗口: ⒈ 双击窗体

双击窗体的任何区域,都可以打开代码设计窗口。

如果双击的是空白区域则光标在事件过程Form_Load(如不存在则自动建立)中,否则光标在所击控件的已有事件过程中(对运行时可见的控件,如不存在任何事件过程,则自动建立Click过程)。

图1-14 代码窗口一

第1章 Visual Basic 6.0概述 15

⒉ 右击窗体,选择“查看代码”

鼠标右击窗体,在出现的快捷菜单中选择“查看代码”,也可以打开代码窗口。 ⒊ 选择“视图”菜单中的“代码窗口”选项

⒋ 使用“工程资源管理器窗口”中的“查看代码”按钮

菜单栏中“视图”菜单的“工程资源管理器窗口”选项,不仅可以用来打开代码窗口,还可以用来装入窗体的视图。

在设计时,用户可以关闭1个工程中多个窗体中(最多允许255个)的一些窗体文件,需要时可以调出工程资源管理器窗口、用以打开已关闭的窗体。

初学者时常有找不到窗体的问题,如果确定已经建立过窗体文件,也许曾经关闭?可以尝试在工程资源管理器窗口操作。

在代码窗口中,有“对象下拉列表框”、“过程下拉列表框”和“代码区”(见图1-14): “对象下拉列表框”中列出了当前窗体及所包含的全体对象名。其中,无论窗体的名称改为什么,作为窗体的对象名总是Form。

“过程下拉列表框”中列出了所选对象的所有事件名。

“代码区”是程序代码编辑区,能够非常方便地进行代码的编辑和修改。另外它还具有自动列出成员特性、自动列举适当的选择(属性值、方法或函数原型)等功能(见图1-15),这一功能使代码编写更加方便。

图1-15 代码窗口二

1.3 VB的术语及相关概念

1.3.1 可视化编程

传统的编程方法使用的是面向过程、按顺序进行的机制,其缺点是程序员始终要关心什么时候发生什么事情,处理Windows环境下事件驱动方式的工作量太大。

VB采用的是面向对象、事件驱动的编程机制。程序员只需编写响应用户动作的程序,如移动鼠标、单击鼠标等,而不必考虑每个步骤执行的精确次序,编写代码相对较少。

Visual的意思是“可视的”,也就是直观的编程方法。VB使用的“可视化编程”方法,是“面向对象编程”技术的简化版。VB提供多种“控件”支持可视化编程,利用它们可以快速创

16 Visual Basic 6.0程序设计教程

建强大的应用程序而不需涉及不必要的细节。这一点,通过前面实例的介绍,相信读者已经有了初步的认识。

在VB环境中,程序员不仅可以利用控件来创建对象,而且还可以建立自己的“控件”,这是Windows环境下编程的新概念。 1.3.2 对象、属性和方法

1. 对象

可以把对象(Object)想像成日常生活中的各种物体,例如一只气球、一把椅子、一部电话等都是对象。

在VB程序中,对象是指VB可以访问的实体。如:窗体、命令按钮、列表框是对象,外部文件是对象,程序中的变量也是对象,等等。

2. 属性

属性是对象的性质。

每一种对象都有其属性,不同的对象有不同的属性,属性值决定了对象的外观和行为。 对于VB的控件而言,有些属性属于多数控件的公共属性,有些属性则是属于特定控件的专有属性。本书此后各章将介绍VB常用控件的属性,某些公共属性将分散在若干个控件中介绍,提请读者注意。

控件属性的设置一般有两条途径:

⑴ 如果在界面设计时设置对象的属性,需要使用属性窗口。这时只要在属性窗口中选中要修改的属性,然后在右列中键入新的值即可设置对象的属性。

注意:

控件的某些公共属性如果不设定,则取控件所在窗体的属性值为其缺省值。

如标签、文本框、列表框、图片框控件的字体、颜色等属性。因此,本书只说明窗体属性的缺省值,而不说明其他控件公共属性的缺省值。

⑵ 如果要在程序运行中动态地更改对象的属性,可以使用VB的赋值语句,在代码窗口中通过编程设置,其格式为:

对象名.属性名 = 属性值

其中“对象名.属性名”是VB中引用对象属性的方法,如下述代码可以设置标签控件Label1的标题为“第一个应用程序”:

Label1.Caption = \"第一个应用程序\" 3. 方法

方法是某些规定好的用于完成某种特定功能的特殊过程。

如打印(Print)方法、显示窗体(Show)方法、移动窗体(Move)方法等。方法只能在代码中使用,用下面的格式调用:

对象名.方法名[参数]

如在图片框Picture1上以(50,80)为圆心、100为半径画一个圆,可用如下命令: Picture1.Circle (50,80),100

第1章 Visual Basic 6.0概述 17

1.3.3 对象事件与事件过程

⒈ 事件

事件是VB预先定义的、对象能够识别的动作。

每个控件都可以对一个或多个事件进行识别和响应,如窗体加载事件(Load)、鼠标单击事件(Click)、鼠标双击事件(DblClick)等。事件是一种预先定义好的特定动作,由用户或系统激活,在多数情况下,事件是通过用户的交互操作产生的。

不同的对象能够识别的事件不一定是相同的,如窗体对象能识别加载事件(Load),而其他对象则不可能识别这一事件。

⒉ 事件过程

事件过程是用来完成事件发生后所要执行的操作。

当一个对象察觉到某一事件发生时(如Click等),就会对事件产生响应,即执行一段程序代码,所执行的这段程序代码就称为事件过程。

通常,VB的控件都可以识别一个或一个以上的事件,所以对一个对象至少能够建立和使用一个事件过程,来对用户或系统的事件作出相应的反应。但是不一定每个事件过程对应用程序都是必须的,只要根据应用程序的需要来建立相应的事件过程就可以了。

3. 事件驱动程序设计

程序开始执行时,先等待某个事件的发生,然后再去执行处理此事件的事件过程。事件过程要经过事件触发才会被执行,这种动作模式就称为事件驱动程序设计(Event Driven Programming),也就是说,由事件控制整个程序的执行流程。

当VB处理完某一事件过程后,程序会进入等待状态,直到下一个事件发生为止。简单地说,VB程序的执行步骤为:

⑴ 等待事件的发生;

⑵ 事件发生时,执行其对应的事件过程; ⑶ 重复步骤(1);

如此周而复始地执行,直到程序结束。 1.3.4 窗 体

窗体(Form)也就是平时所说的窗口,它是VB编程中最常见的对象,各种控件对象必须建立在窗体上,一个窗体对应一个窗体模块。

⒈ 窗体的结构

同Windows环境下的应用程序窗口一样,VB中的窗体也具有控制菜单、标题栏、最大化/还原按钮、最小化按钮、关闭按钮以及边框,等等。

窗体的操作与Windows下的窗口操作一样。通过鼠标左键拖动标题栏可以移动窗体;鼠标对准窗体边框,当出现双向箭头时拖动鼠标可以改变窗体的大小。

建立新窗体后,它的大小、背景颜色、标题及窗体名称等特征需要根据应用程序的要求进行设置。

18 Visual Basic 6.0程序设计教程

2. 窗体的常用属性

通过设置窗体属性可以改变窗体内在或外在的结构特征,控制其外观。常用的窗体属性有: ⑴ Name属性,窗体的名称(缺省值Form1),是VB访问窗体的标识符。

⑵ Caption属性,设置窗体的标题(缺省值Form1),是窗体标题栏中显示的文本。 ⑶ Backcolor属性,用于确定窗体背景的颜色(缺省值&H8000000F&,银灰色)。 ⑷ Boderstyle属性,用于决定窗体的边框风格(缺省值2)。 ⑸ Enabled属性,设置窗体是否对事件产生响应(缺省值True)。

⑹ FontBold属性,设置输出到窗体上的字符是否以粗体显示(缺省值False)。 ⑺ FontItalic属性,设置输出到窗体上的字符是否以斜体显示(缺省值False)。 ⑻ FontName属性,设置输出到窗体上的字符以何种字体显示(缺省值\"宋体\")。 ⑼ FontSize属性,设置输出到窗体上的字符的大小(缺省值9)。 以上4个关于字体的属性设置都在Font属性对话框中设置。 ⑽ Left属性,设置窗体左上角的横坐标(缺省值0)。 ⑾ Top属性,设置窗体左上角的纵坐标(缺省值0)。 ⑿ Width属性,设置窗体的宽度(缺省值4800)。 ⒀ Height属性,设置窗体的高度(缺省值3600)。

⒁ Moveable属性,设置窗体在运行时是否可移动(缺省值True)。 ⒂ Visible属性,设置窗体在运行时是否可见(缺省值True)。 ⒃ WindowState属性

该属性值设置窗体运行时大小状态。取值0(缺省值)为标准状态,窗体宽、高分别约为屏幕宽、高的1/3;取值1为最小化状态,成为任务栏上的一个图标;取值2为最大化状态,全屏幕显示。

⒊ 窗体的事件过程 窗体的常用事件过程有: ⑴ Click事件过程

当鼠标单击窗体时发生Click事件,导致Form_Click事件过程被调用。 ⑵ DblClick事件过程

当鼠标双击窗体时发生DblClick事件,导致Form_DblClick事件过程被调用。 ⑶ Load事件过程

当窗体被加载时,发生Form_Load事件,导致Form_Load事件过程被调用。 ⑷ Unload事件过程

关闭窗体时发生Form_Unload事件,导致Form_Unload事件过程被调用。 ⒋ 窗体的方法

作用于窗体的常用方法有: ⑴ Print方法

用于在窗体上输出信息,如“Print x, y, \"WINDOWS\"”。 ⑵ Cls方法

用于清除窗体上用Print方法输出的信息和用作图方法在窗体上绘制的图形。

第1章 Visual Basic 6.0概述 19

⑶ Show方法

用于显示窗体,若指定窗体没有加载,则VB自动装载该窗体,并调用相应的Load事件。 ⑷ Hide方法

用于隐藏窗体对象、但不能使窗体卸载,通常与Show方法一起用于多窗体程序设计。 注意:

只有调用窗体的方法时,才可以缺省对象名称。如要在图片框控件Picture1上用Print方法输出,必须指明对象名称,如“Picture1.Print x, y, \"WINDOWS\"”。

⒌ 多窗体应用

建立新工程时,系统会自动创建一个窗体,但除了简单的练习外,真正的商业化的应用程序均需要使用多个窗体。因此,还需要了解关于多窗体的基本操作。

⑴ 添加窗体

选择“工程”菜单中“添加窗体”选项,VB将显示图1-16所示窗口;选择“窗体”后单击“打开”按钮即添加了新窗体。如打开工程资源管理器,会显示新增的窗体(如图1-17所示)。

图1-16 “添加窗体”窗口

图1-17 “工程资源管理器”窗口

⑵ 删除窗体

右击需删除的窗体,在弹出的快捷菜单中选择“移除...”选项。 ⑶ 运行时显示窗体

运行时显示窗体通过调用Show方法实现。如执行语句“Form2.Show” 显示窗体Form2。

20 Visual Basic 6.0程序设计教程

⑷ 关闭窗体

通过调用Unload方法实现。如执行语句“Unload Form2”关闭窗体Form2。 ⑸ 设置启动对象

一个工程(如工程1)若有多个窗体,其缺省状态下只能由Form1启动,但可以通过选择“工程”菜单的“工程1属性”选项,在打开的对话框中设置启动对象,如图1-18所示。

图1-18 工程属性对话框

1.4 实 例

例1-1 理解Click和DblClick事件,用鼠标单击或双击窗体改变标签的显示信息(标题)。 ⑴ 界面设计,选择“新建”工程,进入窗体设计器,在窗体中添加一个标签控件Label1;设置对象属性,如设置标签控件的字体类型和字体大小。

⑵ 过程设计,编写窗体的Click和DblClick事件代码如图1-19所示。 ⑶ 程序运行的结果如图1-20所示。

图1-19 例1-1之代码设计

第1章 Visual Basic 6.0概述 21

图1-20a 例1-1运行结果之一 图1-20b 例1-1运行结果之二

例1-2 设计一个程序,用户界面如图1-21a所示。

单击“文字变大”按钮,窗体上显示“文字由小变大”,单击“文字变小”按钮,窗体上显示“文字由大变小”,单击“清除”按钮,则清除窗体上显示的内容。

注意观察窗体上显示的文字的大小变化情况。

⑴ 界面设计,如图1-21a所示。在窗体中添加三个命令按钮,将三个命令按钮的名称分别改为Cmd1、Cmd2、Cmd3,并按界面设计要求修改三个命令按钮的Caption属性。

图1-21a 例1-2之界面设计 图1-21b 例1-2之代码设计

⑵ 过程设计,编写Cmd1、Cmd2、Cmd3的Click事件过程代码,如图1-21b所示。 ⑶ 运行结果如图1-22所示。通过本程序,读者应理解控件的名称(Name)与标题(Caption)的区别。此外,本例程序中窗体名称Form1可以省略,因为缺省的对象名就是窗体名Form1。

图1-22 例1-2之运行结果

22 Visual Basic 6.0程序设计教程

例1-3 在窗体上画一个图片框(Picture)控件和两个命令按钮,在图片框上加载一部汽车。单击“前进”则汽车前进,单击“倒车”则倒车。界面设计如图1-23所示。

图1-23 例1-3之界面设计

⑴ 界面设计

① 在工具箱中单击 ,在窗体上画出图片框;用同样的方法画出两个命令按钮。 ② 设置对象属性。选中Picture1,在属性窗口中将AutoSize设置为True,用鼠标单击Picture属性栏的对话框提示按钮,在弹出的对话框中选择图像文件。

安装了Office的系统中,一般会有各色各样的图像文件,在Windows开始菜单中单击“查找”,在文件名栏中输入“car”或其他一些文件名,可以找到适用图形文件的所在文件夹。

设置Command1、Command2的Caption属性分别为“前进”和“倒车”。 ⑵ 过程设计,编写Command1、Command2的Click事件过程代码如下: Private Sub Command1_Click()

Picture1.Left = Picture1.Left + 100 End Sub

Private Sub Command2_Click()

Picture1.Left = Picture1.Left - 100 End Sub

本例中,图片框移动的距离,采用的是窗体的缺省坐标单位:缇,1缇≈0.017毫米。 例1-4 设计一个程序,有两个窗体,窗体用户界面如图1-24所示。在程序运行时,单击窗体1的“打开窗体二”按钮,则显示窗体二;单击窗体2的“返回窗体一”按钮,则回到窗体一;单击窗体1的“程序结束”按钮,则程序运行结束,运行的结果如图1-25所示。

图1-24a 例1-4窗体一之界面设计 图1-24b 例1-4窗体二之界面设计

第1章 Visual Basic 6.0概述 23

图1-25a 例1-4运行时窗体一之显示 图1-25b 例1-4运行时窗体二之显示

⑴ 界面设计

① 在窗体一中添加两个命令按钮;

添加窗体,在窗体二中添加一个命令按钮和一个标签。 ② 设置对象属性

窗体二中的标签控件Label1的ForeColor(前景色)设置为红色、BoderStyle设置为1、字体类型为“华文行楷”、字体大小为“二号”。

⑵ 过程设计

编写窗体一中Command1、Command2的Click事件过程代码如图1-26a所示, 编写窗体二的Form_Load、Command1的Click事件过程代码如图1-26b所示。

图1-26a 例1-4窗体一之代码窗口 图1-26b 例1-4窗体二之代码窗口

1.5 小 结

这一章介绍了VB的基本知识,使我们了解到: ⒈ 编制VB应用程序主要分三步

⑴ 界面设计:根据应用程序的需要,选择工具箱中的控件在窗体上一一画出,并设置各个对象的有关属性。

⑵ 过程设计:对象所能识别的事件一般有多个,编程时只要完成实现应用程序功能所需要的那部分过程代码就可以了。

⑶ 运行调试:选择“启动”,即运行程序。若运行结果不满意,如窗体中缺少对象、对象属性设置不合理,或程序代码错误,则需要作进一步修改。

⒉ 一个VB应用程序由多个文件组成

扩展名为“.vbp”的为工程文件,扩展名为“. frm”的为窗体文件,扩展名为“. frx”的为

24 Visual Basic 6.0程序设计教程

外部数据文件。

窗体文件包含了在窗体中描述的所有对象的外观、行为的程序代码以及描述事件过程的程序代码、通用模块等。

外部数据文件包含了窗体中控件所调用的外部数据(如Picture控件调用的图形文件)等。工程文件就是与该工程有关的所有文件和对象的清单。

在保存时,窗体文件和工程文件需要分别加以保存,为保证应用程序的完整性,建议将一个程序的所有文件都保存在同一文件夹中。

⒊ 多窗体应用

多个窗体的程序设计是商业化应用的实际需要,建立新工程时系统自动创建一个窗体。在应用程序的界面设计时,可通过“添加窗体”的方法创建新窗体如Form2、Form3、Form4等。

各个窗体的界面设计和过程设计是完成的,程序运行时,窗体之间的关联通过相应的方法如Show、Hide等实现。

本章还简单阐述了VB可视化编程的常用术语,如对象、属性、事件和方法等。介绍了窗体对象的常用属性、事件和方法。

通过本章的学习,我们可以总结出VB具有以下特点: ⒈ 可视化的设计平台

传统的程序设计语言,需要通过编程来设计程序的界面,在设计过程中看不到程序的实际显示效果,在运行程序的时候才能观察到。如果对程序的界面不满意,还要回到程序中去修改,这一过程常常需要反复多次,大大影响了编程的效率。

VB提供的可视化设计平台,把Windows界面设计的复杂性“封装”起来。程序员不必再为界面的设计而编写大量程序代码,只需按设计要求,用系统提供的工具在屏幕上“画出”各种对象,VB自动产生界面设计代码,程序员所需要编写的只是实现程序功能的那部分代码,从而大大提高了编程的效率。

⒉ 面向对象的设计方法

VB采用面向对象的编程思想(OOP),把程序和数据封装起来作为一个对象,并为每个对象赋予相应的属性。在设计对象时,不必编写建立和描述每个对象的程序代码,而是用工具“画”在界面上,由VB自动生成对象的程序代码并封装起来。

⒊ 事件驱动的编程机制

VB通过事件来执行对象的操作。在设计应用程序的时候,不必建立具有明显开始和结束的程序,而是编写若干个微小的子程序,即过程。这些过程分别面向不同的对象,由用户操作引发某个事件来驱动完成某种特定的功能,或由事件驱动程序调用通用过程来执行指定的操作。

⒋ 结构化的设计语言

VB是在结构化的Basic语言基础上发展起来的,加上了面向对象的设计方法,因此是更出色的结构化程序设计语言。

VB具有的其他特点还有:

充分利用Windows资源。VB提供的动态数据交换(DDE)编程技术,可以在应用程序中实现与其他Windows应用程序建立动态数据交换和在不同的应用程序之间进行通信的功能。VB

第1章 Visual Basic 6.0概述 25

提供的对象链接与嵌入(OLE)技术把每个应用程序都看作一个对象,将不同的对象链接起来,嵌入到某个应用程序中,可以得到具有声音、影像、图像、动画和文字等各种信息的集合式文件。VB还可以通过动态链接库(DLL)技术将C/C++或汇编语言编写的程序加入到VB的应用程序中,或是调用Windows应用程序接口(API)函数,实现SDK所具有的功能。

开放的数据库功能与网络支持。VB具有很强的数据库管理功能,不仅可以管理MS Access格式的数据库,还能访问其他外部数据库,如FoxPro、Paradox等格式的数据库。另外,VB还提供了开放式数据库连接(ODBC)功能,可以通过直接访问或建立连接的方式使用并操作后台大型网络数据库,如SQL Server、Oracle等。

在应用程序中,可以使用结构化查询语言(SQL)直接访问Server上的数据库,并提供简单的面向对象的库操作命令、多用户数据库的加锁机制和网络数据库的编程技术,为单机上运行的数据库提供SQL网络接口,以便在分布式环境中快速而有效地实现客户/服务器(Client/Server)方案。

习 题 一

一、判断题

1.VB是以结构化的Basic语言为基础、以事件驱动作为运行机制的可视化程序设计语言。 2.属性是对象的性质。

3.同一窗体中的各控件可以相互重叠,其显示的上下层次的次序不可以调整。 4.在VB中,有一些通用的过程和函数作为方法供用户直接调用。 5.控件的属性值不可以在程序运行时动态地修改。

6.许多属性可以直接在属性表上设置、修改,并立即在屏幕上看到效果。 7.所谓保存工程,是指保存正在编辑的工程的窗体。 8.在面向对象的程序设计中,对象是指可以访问的实体。

9.决定对象是否可见的属性是Visible属性,决定对象可用性的属性是Enabled属性。 10.保存VB文件时,若一个工程包含多个窗体或模块,则系统先保存工程文件,再分别保 存各窗体或模块文件。

11.xxx.vbp文件是用来管理构成应用程序xxx的所有文件和对象的清单。 12.事件是由VB预先定义的对象能够识别的动作。

13.事件过程可以由某个用户事件触发执行,它不能被其他过程调用。 14.窗体中的控件,是使用工具箱中的工具在窗体上画出的各图形对象。 15.可以从“运行”对话框或MS-DOS窗口中启动VB。

16.由Visual Basic语言编写的应用程序有解释和编译两种执行方式。 17.在使用“格式”菜单前,不能选中窗体中的多个控件。

18.“视图”菜单可用于打开各种窗口(包括与浏览或显示有关的命令及属性页和工具箱 的显示)。

19.“方法”是用来完成特定操作的特殊子程序。

26 Visual Basic 6.0程序设计教程

20.“事件过程”是用来完成事件发生后所要执行的操作。 二、选择题

1.工程文件的扩展名为 。

A、.frx B、.bas C、.vbp D、.frm 2.以下4个选项中,属性窗口未包含的是 。

A、对象列表 B、工具箱 C、属性列表 D、信息栏 3.VB与传统DOS下的Basic相比,最大的优点在于 。 A、运用面向对象的观念 B、由代码和数据组成 C、使用了HTML语言 D、强调了对功能的模块化 4.下列不属于对象的基本特征的是 。

A、属性 B、方法 C、事件 D、函数 5.一个窗体最多能容纳 个控件。

A、55 B、155 C、255 D、355

6.窗体的用户设计区是由许多点组成的网格,可通过 菜单中的“对齐到网格”命 令调整间距。

A、“编辑” B、“格式” C、“窗口” D、“工具” 7.VB中“程序运行”允许使用的快捷键是 。

A、F2 B、F5 C、Alt+F3 D、F8 8.改变控件在窗体中的上下位置应修改该控件的 属性。

A、Top B、Left C、Width D、Right 9.窗体模块的扩展名为 。

A、.exe B、.bas C、.frx D、.frm 10.窗体的Drawstyle属性是设置直线样式的,其中虚线的设置值为 。 A、3 B、2 C、1 D、0 11.窗体的FontName属性的缺省值是 。

A、宋体 B、仿宋体 C、楷体 D、黑体 12.FontSize属性用以设置字体大小,窗体的FontSize属性缺省值为 。 A、5 B、9 C、12 D、16 13.在窗体上按下鼠标左键时产生的事件是 。

A、KeyDown B、MouseUp C、MouseMove D、MouseDown 14.下列选项中不属于事件的是 。

A、Dblclick B、Load C、Show D、KeyUp 15.将VB编制的程序保存在磁盘上,至少会产生何种文件 。

A、.doc与.txt B、.com与.exe C、.bat与.frm D、.vbp与.frm 三、填空题

1.面向对象的程序设计是一种以 为基础,由 驱动对象的编程技术。 2.面向对象的程序设计的核心是 。

第1章 Visual Basic 6.0概述 27

3.属性是用来描述 的性质的。

4.VB提供的用来完成特定操作的特殊子程序称为 。

5.设计时使用工具箱中的工具在窗体上画出的各图形对象叫做 。 6.窗体是用来存放 的容器。

7.属性窗口是由 、 、 组成的。 8.事件是由VB预先定义的 能够识别的动作。

9.改变控件在窗体中的左右位置,应修改该控件的 属性。 10.改变控件在窗体中的上下位置,应修改该控件的 属性。 11. 在打开某窗体时,初始化该窗体中的各控件,应选用 事件。

12.对窗体Form内各控件不能用鼠标任意精确定位是由于窗体中的 起作用。 13.新建工程时系统会自动将窗体标题设置为 。 14.控件和变量均称为 。 四、程序设计题

1.单击窗体后在窗体上显示“您好!XXX 同学”。 要求:

⑴ 程序中用自己的姓名替代“XXX”。

⑵ 文字以红色、仿宋体、加粗、三号字显示,并在字下加横线。 ⑶ 建立一个命令按钮,结束时单击此按钮退出。

2.在窗体上建立4个命令按钮Command1、Command2、Command3和Command4。 要求:

⑴ 命令按钮的Caption属性分别为“字体变大”、“字体变小”、“加粗”和“标准”。 ⑵ 每单击Command1按钮和Command2按钮一次,字体变大或变小3个单位。

⑶ 单击Command3按钮时,字体变粗;单击Command4按钮时,字体又由粗体变为标准。 ⑷ 4个按钮每单击一次都在窗体上显示“欢迎使用VB”。 ⑸ 双击窗体后可以退出。

3.在窗体上建立4个命令按钮Command1、Command2、Command3和Command4。 要求:

⑴ 4个命令按钮的Caption属性分别为“窗体变大”、“窗体变小”、“窗体左移”、“窗 体右移”。

⑵ 单击Command1按钮时,窗体大小变为原来大小的两倍;单击Command2按钮时,窗体大小变为原来大小的一半;单击Command3和Command4按钮时,窗体分别左移或右移5个单位(单位为毫米)。

⑶ 双击窗体可以退出。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 91gzw.com 版权所有 湘ICP备2023023988号-2

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务