《第二篇 案例篇 5-1VB编程概述》由会员分享,可在线阅读,更多相关《第二篇 案例篇 5-1VB编程概述(58页珍藏版)》请在金锄头文库上搜索。
1、VB编程概述编程概述 一、VB的基本概念 1.对象 2.属性 3.事件 4.方法 1.对象 (1)对象和类)对象和类 对象是基本的运行时的实体,如窗体、各种控对象是基本的运行时的实体,如窗体、各种控件等,件等,它既包括作用于对象的操作(方法)和它既包括作用于对象的操作(方法)和对象的响应(事件)。对象的响应(事件)。 对象是将数据和处理对象是将数据和处理这些数据的过程封装在一起。这些数据的过程封装在一起。 对象的三大要素:属性、事件、和方法对象的三大要素:属性、事件、和方法 类是一个抽象的整体概念类是一个抽象的整体概念 ,对象是类的实例化。,对象是类的实例化。 类与对象是面向对象程序设计语言的
2、基础。类与对象是面向对象程序设计语言的基础。 以“学生”为例,说明类与对象的关系。学生以“学生”为例,说明类与对象的关系。学生是一个笼统的名称,是整体概念,我们把学生是一个笼统的名称,是整体概念,我们把学生看成一个“类”,一个个具体的学生(比如你看成一个“类”,一个个具体的学生(比如你自己)就是这个类的实例,也就是这个类的一自己)就是这个类的实例,也就是这个类的一个个对象。个个对象。 1.对象 1.对象 工具箱的各种控件并不是对象,而是代表了各个不同的类。通过类的实例化,可以得到真正的对象。当在窗体上画一个控件时,就将类转换为对象,即创建了一个控件对象,也简称为控件。 对象类型对象类型 前前缀
3、缀 对象类型对象类型 前前缀缀 对象类型对象类型 前前缀缀 Adodc(ADO数据数据控件控件) ado FileListBox(文件列表框文件列表框) Fil Menu(菜单菜单) mnu CheckBox(复选框复选框) chk Form(窗体窗体) frm OptionButton(单选按钮单选按钮) opt ComboBox(组合框组合框) cbo Frame(框架框架) fra PictureBox(图片框图片框) pic CommandButton(命令按钮命令按钮) cmd HscrollBar(水平滚动条水平滚动条) hsb RichTextBox(多格式文本多格式文本) rt
4、f CommonDialog(通通用对话框用对话框) dlg Image(图像框图像框) img Shape(形状形状) shp DataGrid(数据网数据网格格) dgd Label(标签标签) lbl TextBox(文本框文本框) txt DirListBox(目录列目录列表框表框) dir Line(直线直线) lin Timer(定时器定时器) tmr DriveListBox(驱动驱动器列表框器列表框) drv ListBox(列表框列表框) lst VscrollBar(垂直滚动条垂直滚动条) vsb 2.属性 属性是一个对象的特性,不同的对象有不同的属性。属性属性是一个对象的
5、特性,不同的对象有不同的属性。属性是用来描述和反映对象特征的参数。是用来描述和反映对象特征的参数。 例如:控件名称(例如:控件名称(Name)、标题(、标题(Caption)、颜色、颜色(Color)、字体(、字体(FontName)等属性决定了对象展现给用等属性决定了对象展现给用户的界面具有什么样的外观及功能。户的界面具有什么样的外观及功能。 属性窗口中含有各种属性,可以在属性列表中为具体的对属性窗口中含有各种属性,可以在属性列表中为具体的对象选择所需要的属性。为了在属性窗口中设置对象的属性,象选择所需要的属性。为了在属性窗口中设置对象的属性,必须先选择要设置属性的对象,然后激活属性窗口。必
6、须先选择要设置属性的对象,然后激活属性窗口。 设置新属性的方式通常有以下2种方式 直接键入新属性值 利用对话框设置属值 除了用属性窗口设置对象属性外,也可以在程序中用程序语句设置,一般格式如下: 对象名属性名称 = 新设置的属性值 例如: cmdDisp.Caption=“显示” 3.事件 所谓事件(Event),是由Visual Basic预先设置好的、能够被对象识别的动作,例如click(单击 ) , DblClick( 双 击 ) , Load( 装 入 ) ,MouseMove(移动鼠标),change (改变)等。不同的对象能够识别的事件也不一样。当事件由用户触发(如click)或由
7、系统触发(如Load)时,对象就会对该事件做出响应(Respond)。 事件过程的一般格式如下: Private Sub 对象名称_事件名称(参数 as 数据类型 ) 事件响应程序代码 End sub 例如 Sub cmdOk_Click() cmdOk.FontSize=20 设置命令按钮的设置命令按钮的字体大小为字体大小为20 End Sub 3.1 鼠标事件(案例1) 包含有鼠标移动(Mouse Move)、按下(Mouse Down)、释放鼠标键( Mouse Up)、单击(Click)、双击(Double Click )等操作,所触发的相应事件。 3.事件 3.2 键盘事件 KeyP
8、ress事件:事件:按下键盘的某个键可以触发。用于判别按键的ASCII码值。 KeyDown和和KeyUp事件:事件:按下、释放键盘的某个键所触发的事件。 3.事件 4.方法 在面向对象程序设计(OOP)中,引入了称为方法(Method)的特殊过程和函数。方法的操作与过程、函数的操作相同,但方法是特定对象的一部分,正如属性和事件是对象的一部分一样。 方法的调用格式为:对象名称对象名称方法名称方法名称 参数参数列表列表 如省略对象,表示在当对象,一般指窗体。如省略对象,表示在当对象,一般指窗体。 例如:例如: Form1.print 欢迎您使用欢迎您使用Visual Basic 6.0 5.控
9、件 窗体和控件都是Visual Basic中的对象,它们是应用程序的“积木块”,共同构成用户界面。因为有了控件,才使得Visual Basic不但功能强大,而且易于使用。控件以图标的形式放在 “工具箱”中,每种控件都有与之对应的图标。 二、二、VB常用控件简介(常用控件简介(1) 主要内容:主要内容: 窗体的属性、事件、方法窗体的属性、事件、方法 命令按钮控件的属性和事件命令按钮控件的属性和事件 标签控件的属性标签控件的属性 文本框控件的属性文本框控件的属性 命令按钮(Command) 标签(label) 文本框(Text) 窗体是任何一个应用程序必不可少的对象,窗体是任何一个应用程序必不可少
10、的对象,因为窗体是其他对象的载体,各类控件对因为窗体是其他对象的载体,各类控件对象必须建立在窗体上;同时窗体也是应用象必须建立在窗体上;同时窗体也是应用程序的顶层对象,设计应用程序都是从窗程序的顶层对象,设计应用程序都是从窗体开始的。体开始的。 一个窗体对应一个窗体模块。一个窗体对应一个窗体模块。 窗体由五部分组成 标题栏 控制框 控制按钮 工作区 边界 标题栏 控制框 (1)更换图标 (2)显示或屏蔽控件框 控制按钮 边界 工作区 选择“工程”下拉菜单中的“添加窗体”选项,打开“添加窗体”对话框,如图所示,选择窗体,打开即可创建新窗体。 窗体属性主要有如下几类:缩放、外观、位置、行为、字体、
11、杂项以及DDL(动态链接)等,约有50多个。对象的每一个属性系统都预先给定一个隐含值,但用户可根据需要修改它们。 Name名称属性(任何对象都具有名称属性(任何对象都具有的)的) 创建的对象名称创建的对象名称,有默认的名。有默认的名。在程序中,控件名是作为对象在程序中,控件名是作为对象的标识而引用,不会显示在窗的标识而引用,不会显示在窗体上。体上。 窗体名称也是通过窗体名称也是通过Name属性属性来设置,窗体名称用于标识窗来设置,窗体名称用于标识窗体。一个窗体必须有一个名称,体。一个窗体必须有一个名称,在程序中对窗体的操作语句都在程序中对窗体的操作语句都要使用窗体名称,以便告诉系要使用窗体名称
12、,以便告诉系统操作语句是针对哪一个窗体统操作语句是针对哪一个窗体的。的。 外观属性外观属性 Caption属性属性设置窗体的标题,设置窗体的标题,是用来显示在窗体标题栏上的标是用来显示在窗体标题栏上的标题,也是当窗体被最小化后出现题,也是当窗体被最小化后出现在窗体图标下的文本。它是为了在窗体图标下的文本。它是为了让用户识别窗体的。让用户识别窗体的。 BackColor和和Forecolor属性属性用来用来设置窗体的背景和前景颜色。属设置窗体的背景和前景颜色。属性值是一个十六进制常量,每种性值是一个十六进制常量,每种颜色对应一个常量。系统隐含窗颜色对应一个常量。系统隐含窗体背景颜色为灰色。体背景
13、颜色为灰色。 BorderStyle属性用来设置窗体属性用来设置窗体边界的类型。边界的类型。 Picture属性用来在窗体上加载图属性用来在窗体上加载图形形。 BackColor属性用于返回或设置对象的背景颜色, ForeColor属性用于返回或设置在对象里显示图片和文本的前景颜色。它们是十六进制长整型数据 在程序代码中可用Windows 运行环境的红-绿-蓝 (RGB) 颜色方案,使用调色板或在代码中使用 RGB 或 QBColor 函数指定标准RGB颜色。 例如,将窗体Form1的背景色设置为红色,则可使用下面三种情况: Form1.BackColor = RGB(255, 0, 0) F
14、orm1.BackColor = &HFF& (低字节到高字节分别表示红、绿、蓝的值) Form1.BackColor = vbRed 通过改变 BorderStyle 属性,可以控制窗体如何调整大小。 0-None:无边框; 1-Fixed Single:单线边框,不可以改变窗口大小; 2-Sizable:双线边框,可以改变窗口大小; 3-Fixed Double:双线框架,不可以改变窗口大小。 4-Fixed Tool Window:窗体外观与工具条相似。有关闭按钮 ,不可以改变窗口大小。 5-Sizable Tool Window:窗体外观与工具条相似。有关闭按钮 ,可以改变窗口大小。
15、位置属性 Height、width、top和left属性:单位为twip(1 twip =1/20点 = 1/1440英寸=1/567cm) 这四个属性决定窗体(或控件)的大小,在容器中的位置。 字体属性 Font属性用于在属性窗口中,设置窗体在运行时显示文本所用的字体和字体的大小。 FontName和FontSize属性用于程序代码中设置窗体在运行时显示文本所用的字体和字体的大小。 行为属性行为属性 AutoRedraw属性用来控制屏幕属性用来控制屏幕图像的重建图像的重建,即设置窗体是否具即设置窗体是否具有自动重画功能有自动重画功能,主要用于多窗主要用于多窗体设计中体设计中。 Enabled
16、属性确定一个窗体是否属性确定一个窗体是否能够对用户产生的事件做出反应能够对用户产生的事件做出反应。属 性 值 为 逻 辑 值属 性 值 为 逻 辑 值 , 即即 True 或或False。 Visible属性控制窗体为可见或不属性控制窗体为可见或不可见可见(隐藏隐藏)。属性值为逻辑值属性值为逻辑值,即即True或或False。隐含值为隐含值为True。 其他属性 WindowStates属性设置一个窗体窗口运行时的可见状态。 除常用的除常用的click、DblClick事件外事件外,窗体还有其本身说特窗体还有其本身说特事件事件 LoadLoad事件事件: :窗体被装入时触发的事件窗体被装入时触
17、发的事件。该事件通常用来在该事件通常用来在启动应用启动应用 程序时对属性和变量进行初始化程序时对属性和变量进行初始化。 UnloadUnload事件事件: :卸载窗体时触发该事件卸载窗体时触发该事件。 ResizeResize事件事件: :无论是因为用户交互无论是因为用户交互,还是通过代码调整窗还是通过代码调整窗体的大小体的大小,都会触发一个都会触发一个ResizeResize事件事件 窗体常用的方法有:窗体常用的方法有: 打印输出打印输出PrintPrint、移动移动MoveMove、清除清除ClsCls、显示显示ShowShow 、隐藏隐藏HideHide等方法等方法。 方法是面向对象故使
18、用的形式方法是面向对象故使用的形式: : 对象对象.方法方法 ClsCls方法方法 格式:格式: 对象名对象名 ClsCls 作用作用 : : 清除运行时在窗体或图形框中显示的文清除运行时在窗体或图形框中显示的文本或图形本或图形。 注意注意 : : 不清除在设计时的文本和图形。清屏后不清除在设计时的文本和图形。清屏后坐标当前回到原点坐标当前回到原点-对象的左上角对象的左上角0 0,0 0 。 MoveMove方法方法 形式形式 : : 对象对象. .MoveMove 左边距离左边距离 ,上边距离上边距离 ,宽度宽度 ,高度高度 作用作用 : : 移动窗体或控件移动窗体或控件,并可改变其大小并可
19、改变其大小。 对象:可以是窗体及除时钟对象:可以是窗体及除时钟、菜单外的所有控件菜单外的所有控件,省略代省略代表窗体表窗体。 左边距离左边距离,上边距离上边距离,宽度宽度,高度:数值表达式高度:数值表达式,单位单位twiptwip。 如果是窗体对象如果是窗体对象,则则“左边距左边距”和和“上边距上边距”是以屏幕左是以屏幕左边界和上边界为准边界和上边界为准。其它则是以窗体的左边和上边界为准其它则是以窗体的左边和上边界为准。 例例 使用使用MoveMove方法移动一个窗体方法移动一个窗体。双击窗体双击窗体,窗体移动并定位窗体移动并定位在屏幕的左上角在屏幕的左上角,同时窗体的长宽也缩小一倍同时窗体的
20、长宽也缩小一倍。 为了实现这一功能为了实现这一功能,可以在窗体可以在窗体FormlForml的的“代码代码”窗口中输窗口中输入下列代码:入下列代码: PrivatePrivate SubSub Form_DblClick()Form_DblClick() FormForm1 1. .MoveMove 0 0, ,0 0,Form,Form1 1. .Width/Width/2 2,Form,Form1 1. .Height/Height/2 2 EndEnd SubSub ShowShow方法方法 ShowShow方法用于在屏幕上显示一个窗体方法用于在屏幕上显示一个窗体,调调用用 ShowSh
21、ow 方法与设置窗体方法与设置窗体 VisibleVisible 属性为属性为 TrueTrue 具有相同的效果具有相同的效果。 调用格式:窗体名调用格式:窗体名. .ShowShow Hide(隐藏隐藏)方法方法 Hide方法用于使指定的窗体不显示,但不从内存中删方法用于使指定的窗体不显示,但不从内存中删除窗体。除窗体。 其调用格式为:其调用格式为:窗体名窗体名.Hide 说明说明 当一个窗体从屏幕上隐去时,其当一个窗体从屏幕上隐去时,其Visible属性被设置成属性被设置成False,并且该窗体上的控件也变得不可访问,但对运,并且该窗体上的控件也变得不可访问,但对运行程序间的数据引用无影响
22、。若要隐去的窗体没有装入,行程序间的数据引用无影响。若要隐去的窗体没有装入,则则Hide方法会装入该窗体但不显示。方法会装入该窗体但不显示。 注意和注意和Unload 窗体名窗体名 的区别的区别 例例 实现将指定的窗体在屏幕上进行显示或隐藏的切换。实现将指定的窗体在屏幕上进行显示或隐藏的切换。 为了实现这一功能,可以在窗体为了实现这一功能,可以在窗体Forml的“代码”窗口中的“代码”窗口中输入下列代码:输入下列代码: Private Sub Form_Click() Form1.Hide 隐藏窗体隐藏窗体 MsgBox 单击按钮,使窗体重现屏幕单击按钮,使窗体重现屏幕 显示信息显示信息 Fo
23、rm1.Show 重现窗体重现窗体 End Sub 标签控件用于输出文本,显示提示信息,输出的文本、提示信息不能编辑、修改。所以Label常用来输出标题、显示处理结果、标识窗体上的对象,或标识那些本身不带Caption属性的控件,如TextBox控件。 Label控件一般不用来触发事件。 Label不能作为输入信息的界面。 基本属性 Name 、 Height 、 Width 、 Top 、 Left 、Enabled 、 Visible 、 Font 、 ForeColor 、BackColor等与窗体的使用相同。 常用属性常用属性 Caption属性用来改变属性用来改变Label控件中显示
24、的文本控件中显示的文本。Caption属性允许文本的长度最多为属性允许文本的长度最多为1024字节字节。缺省情况下缺省情况下,当文当文本超过控件宽度时本超过控件宽度时,文本会自动换行文本会自动换行,而当文本超过控件而当文本超过控件高度时高度时,超出部分将被裁剪掉超出部分将被裁剪掉。 Alignment属性设置属性设置Caption属性中文本的对齐方式属性中文本的对齐方式,共共有三种可选值:有三种可选值: 0 左对齐左对齐(Left Justify); 1 右对齐右对齐(Right Justify); 2 居中对齐居中对齐(Center Justify)。 BackStyle属性用于确定标签的背
25、景是否透明属性用于确定标签的背景是否透明。有两种情况可有两种情况可选:选: 值为值为0时时,表示背景透明表示背景透明,标签后的背景和图形可见;标签后的背景和图形可见; 值为值为1时时,表示不透明表示不透明,标签后的背景和图形不可见标签后的背景和图形不可见。 BorderStyle属性用来设置标签的边框属性用来设置标签的边框。 值为值为0时时,表示表示无边框无边框; 值为值为1时时,表示表示有边框有边框。 AutoSize属性确定标签是否会随标题内容的多少自动变化属性确定标签是否会随标题内容的多少自动变化。如果值为如果值为True,则随则随Caption内容的大小自动调整控件本身的内容的大小自动
26、调整控件本身的大小大小,且不换行;如果值为且不换行;如果值为False,表示标签的尺寸不能自动表示标签的尺寸不能自动调整调整,超出尺寸范围的内容不予显示超出尺寸范围的内容不予显示。 WordWrap属性属性 True: 文本卷绕;文本卷绕;Label 控件垂直展开或缩短控件垂直展开或缩短,以使其与文以使其与文本和字体大小相适本和字体大小相适。水平大小不变水平大小不变。 False:(缺省值缺省值)文本不卷绕;文本不卷绕;Label 水平地展开或缩短以水平地展开或缩短以使其与文本的长度相适使其与文本的长度相适,并且垂直地展开或缩短以使其与字并且垂直地展开或缩短以使其与字体的大小和文本的行数相适应
27、体的大小和文本的行数相适应。 为了使为了使 Label 保持水平方向尺寸不变并允许增加或减少文本保持水平方向尺寸不变并允许增加或减少文本,则应将则应将 WordWrap 和和 AutoSize 属性设置为属性设置为 True。 如果希望如果希望 Label 控件只水平展开控件只水平展开,则应将则应将 WordWrap 设置为设置为 False。如果不希望如果不希望 Label 改变大小改变大小,应将应将 AutoSize 设置为设置为 False。 注意注意 如果如果 AutoSize 被设置为被设置为 False,那么文本总是要卷绕那么文本总是要卷绕,而不管而不管 Label 控件的大小或控
28、件的大小或 WordWrap 属性的设置如何属性的设置如何。这可能使某些文本被隐藏这可能使某些文本被隐藏,因为因为 Label 在任何方向上都不能展开在任何方向上都不能展开。 如果如果 AutoSize 和和 WordWrap 都设置为都设置为 True,文本将会自动换行文本将会自动换行,而而不会增加不会增加 Label 控件的大小控件的大小,但有一种情况例外但有一种情况例外,那就是所输入的一个那就是所输入的一个单词的长度要大于单词的长度要大于 Label 宽度宽度。此时此时,AutoSize 属性有更高的优先级属性有更高的优先级,并且并且 Label 的宽度将增加到适应这个长的单字的宽度将增
29、加到适应这个长的单字。 标签可响应单击(Click)和双击( DblClick)事件,但一般情况不对它进行编程 标签控件支持Move方法,用于实现标签的移动。 几乎每一个对话框中都有命令按钮几乎每一个对话框中都有命令按钮,命令按钮用来接收用户命令按钮用来接收用户的操作信息的操作信息,触发相应的事件过程触发相应的事件过程。它是用户与程序交互的它是用户与程序交互的最简便的方法最简便的方法。 接受用户输入的命令接受用户输入的命令.输入命令可以有三种方式输入命令可以有三种方式: 鼠标单击;鼠标单击; 按按Tab键焦点跳转到该按钮键焦点跳转到该按钮, 再按回车键;再按回车键; 快捷键快捷键(Alt+有下
30、划线的字母有下划线的字母)。 Name 、 Height 、 Width 、 Top 、 Left 、 Enabled 、Visible、Font等与窗体的使用相同等与窗体的使用相同。 命令按钮的名称系统隐含为命令按钮的名称系统隐含为Command1、Command2等等等等。Name属性是不可缺省的属性属性是不可缺省的属性,应该在属性窗口设置应该在属性窗口设置Name属性值属性值。建议使用以建议使用以“cmd”开头的字符串作为命开头的字符串作为命令按钮的名称令按钮的名称(如如cmdExit),以标识该对象的类型以标识该对象的类型。 Default:确认属性:确认属性(逻辑值逻辑值),设置为设
31、置为True时时,按按Enter键相当于用鼠标器单击了该按钮键相当于用鼠标器单击了该按钮。注意:注意:在一个窗体只能的一个按钮的在一个窗体只能的一个按钮的Default设置为设置为Ture。 Cancel:取消功能属性取消功能属性(逻辑值逻辑值),当设置为当设置为Ture时时,程序运行时按程序运行时按Esc键与单击此命令按钮的效果键与单击此命令按钮的效果相 同相 同。注意 :在一 个窗体 只能的一 个按钮 的注意 :在一 个窗体 只能的一 个按钮 的 Cancel设置为设置为Ture Value: 检查该按钮是否按下检查该按钮是否按下. 该属性在设计时无效该属性在设计时无效. Style :
32、确定显示的形式确定显示的形式. 0 只能显示文字只能显示文字, 1 文字文字、图形均可图形均可 。 Picture : 按钮可显示图片文件按钮可显示图片文件(.bmp和和.Ico),只有只有当当Style属性值为属性值为1时有效时有效 命令按钮可以接受许多事件命令按钮可以接受许多事件,如:鼠标单击如:鼠标单击(c1ick)事件事件、鼠标按下鼠标按下(MouseDown)事件事件、鼠标抬起鼠标抬起(MouseUp)事件事件、键盘按下键盘按下(KeyDown)或松开或松开(KeyUp)事件等事件等。 最常用的是鼠标单击最常用的是鼠标单击(click)事件事件,当在命令按钮上当在命令按钮上按下然后释
33、放鼠标左键时发生按下然后释放鼠标左键时发生。在程序中将命令按在程序中将命令按钮的钮的Value属性设置为属性设置为True也会触发该事件也会触发该事件。 可以使用setFocus方法将焦点定位在指定的命令按钮上。 使用格式如下: 对象名SetFocus 文本框控件用来接收用户输入的信息。通常用作接收输入的参数、变量的初值、查询的信息以及程序继续运行所必须的数据。TextBox接收到的信息会显示在文本框中,在文本框中可以编辑、修改输入的信息。 TextBox具有多行显示功能,根据控件尺寸和输入信息的多少自动换行。也可在程序运行时为Text属性赋值,起输出信息的作用。 文本框除了支持鼠标的文本框除
34、了支持鼠标的click、Dblclick事件外事件外,还支持还支持Change、GotFocus、LostFocus等事件等事件。 Change :当改变文本框的:当改变文本框的Text属性时会引发该事件。当属性时会引发该事件。当用输入一个字符,就会触发一次用输入一个字符,就会触发一次Change事件。事件。 KeyPress(KeyAscii As Integer):当用户按下并释放键:当用户按下并释放键盘上一个盘上一个ANSI键时,就会触发一次该事件,并返回一个键时,就会触发一次该事件,并返回一个KeyAscii参数(字符的参数(字符的Ascii值)到该事件过程中。值)到该事件过程中。 例如:输入“例如:输入“A”,则,则KeyAscii的值是的值是65。可用函数。可用函数Chr$(KeyAscii),可得到字符“,可得到字符“A”。 LostFocus : 当控件失去焦点时发生。 GotFocus : 当控件获得焦点时发生。 SetFocus方法是文本框常用的方法,该方法把光标移到指定的文本框中,使该文本框获得焦点。当在窗体上建立了多个文本框后,可以使用该方法把光标置于所需要的文本框上。 使用形式:使用形式: 对象对象.SetFocus