的单词组合或缩写,表示该控件的用途。表1.3中列出了一些常用控件的名称缩写前缀。
表1.3 常用控件名称前缀 控件 Form Label TextBox CommandButton CheckBox OptionButton 前缀 frm lbl txt cmd或btn chk opt 控件 Frame ComboBox HscrollBar VscrollBar Timer ListBox 前缀 fra cbo hsb vsb tmr lst 实例1.2中对象的名称如表1.4所示:
表1.4 控件名称列表
控件 Form Label Label TextBox TextBox TextBox CommandButton 名称 frmCalculator Label1 Label2 txtNumber1 txtNumber2 txtSum cmdCal 1.6.3 对象的属性
属性用来描述对象的各种性质和特征,不同的对象具有不同的属性。例如描述一个人和一台桌子,分别用以下数据:
姓名:张三 性别:男 年龄:30岁 身高:175cm 民族:汉族 名称:电脑桌 长:120cm 宽:90cm 高:80cm 材质:实木 上述数据中描述人的“姓名”、“性别”、“年龄”、“身高”、“民族”以及描述桌子的“名称”、“长”、“宽”、“高”、“材质”,这些数据称为对象的属性名,而每个属性名后面的数据称为对象的属性值。人和桌子有相同的属性,如“姓名”和“名称”,“身高”和“高”,描述的是对象的相同特征;它们也有不同的属性,如“性别”是人的属性,桌子没有这样的属性,而“材质”是桌子的属性,人也没有这个属性。
1. 设置属性值
创建一个对象后,它具有的属性就确定了。通过改变对象的属性值,可以改变对象的对应特征和性质。设置对象的属性有两种方法:
● 在设计模式下,在对象的属性窗口直接更改属性值。 ● 在运行模式下,利用程序代码语句来更改对象的属性值。 在程序中设置属性的语法格式为:
对象名.属性名=属性值
例如,窗体对象的名称为Form1,将其高度设置为5000,代码可以写为:
Form1.Height=5000
在Visual Basic中,每个对象都有自身固有的属性,每个属性都有一个系统默认值,用户一般不必设置对象的每个属性值,只有在默认值不满足设计要求时,才需要设置指定的值。
2. 引用属性值
在程序代码中不但能设置对象的属性值,还可以引用对象的属性值,以获得对象的当前状态。引用对象的属性值的语法格式为:
变量=对象名.属性名 ???
例如,要想知道当前窗体的高度值,将其赋值给变量h:
h= Form1.Height
3. 对象属性的分类
对象的属性分为三种:只读属性、运行时只读属性和可读写属性。 只读属性:这种属性无论在程序设计时还是在程序运行时都只能读出它们的信息,而不能给它们赋值。
运行时只读属性:这种属性在设计程序时可以通过属性窗口设置它们的值,但在程序运行时不能再改变它们的值。
可读写属性:这种属性无论在设计时还是运行时都可读写。 4. 对象的基本属性
在Visual Basic中,对象的属性有很多,有些是对象本身特有的,有些是大多数对象所共有的。把大多数对象共有的这些属性称为对象的基本属性。表1.5列出了这些常用属性。
表1.5 对象的基本属性列表 属性 名称
说明
该属性是所有对象都具有的属性,是所创建的对象的名称,所有的控件在创建时由VB自动提供一个默认名称。Name名称属性在属性窗口的“名称”栏可以进行修改。该属性在运行时是只读的。
该属性决定控件上正文水平对齐方式。0-Left Justify:正文左对齐;1-Rigth Justify:正文右对齐;2-Center:正文居中。
该属性是窗体与有边框的控件都具有的一个属性,它的值决定了边框的绘制样式。它的取值有两个:0-表示以平面样式绘制,没有立体效果;1-表示以立体样式绘制边框。
该属性决定控件是否根据正文自动调整大小。True:自动调整大小;False:保持原来设计时的大小,正文若太长多余部分会被隐藏掉。默认为False。
该属性用来设置对象的背景颜色,即正文以外的显示区域的颜色。 该属性用来设置窗体和控件边框样式。BorderStyle属性在运行时是只读的。0-None:控件周围没有边框;1-Fixed Single:控件带有单边框。 该属性用来设置背景风格。0-Transparent:透明显示,即控件背景颜色显示不出来,若控件后面有其他控件或背景,均可设置为透明显示;1-Opaque:不透明,此时可为控件设置背景颜色。
该属性是对象的标题,窗体标题显示在窗口的标题栏中,控件的标题就显示在控件中。新添加对象的Caption属性被自动设置为Name属性的内容。
该属性决定对象是否是有效。True:允许用户操作,并对操作作出响应;False:禁止用户操作,呈暗淡色。
该属性改变文字的外观,设置字体、字号等。
该属性用来设置对象的前景颜色,即正文和作图时的颜色。其值是一个十六进制常数,用户可以在调色板中直接选择所需要的颜色。 分别表示对象的宽度和高度,即对象的大小。
Alignment Appearance
AutoSize
BackColor BorderStyle BackStyle
Caption
Enabled Font
ForeColor Width、Height
Left、Top TabIndex TabStop
Visible
分别是控件的左边到其容器的左边,控件的上边到其容器的上边的距离,即对象的位置。
该属性决定了当用户按Tab键时,焦点在各个控件转移的顺序。
TabStop属性返回或设置一个逻辑值,该值用来指示是否能够使用Tab键将焦点从另一个对象移动到这个对象上。当控件的TabStop属性设置为False时,用Tab键就不能使该控件获得输入焦点,只有那些可以获得输入焦点的控件才具有该属性。
该属性决定对象是否可见。True:程序运行时控件可见;False:程序运行时控件隐藏起来,不可见,但控件本身还存在。
实例1.2中各对象的属性需要进行设置,直接在对象的属性窗口更改属性值。
将所有对象的字号设置为四号字:在属性窗口选定Font属性,单击属性值右侧的按钮,弹出“字体”对话框,如图1.15所示,在“大小”选项里选择四号。
设置窗体上字体颜色为红色:在属性窗口选定ForeColor属性, 单击属性值右侧的下拉箭头,弹出调色板,如图1.16所示,在调色板里选择红色。第三个文本框的字体颜色用同样的方法设置为蓝色。
其他属性值的设置按表1.6—表1.9所示,直接更改。 表1.6 窗体的属性 属性 名称 Caption Height Width 表1.7 标签的属性 属性 名称 Caption AutoSize 表1.8 文本框的属性 属性 名称 Text Alignment Locked 表1.9 命令按钮的属性
属性 名称 Caption 属性值 CmdCal 计算 属性值 txtNumber1 空 2-Center False txtNumber2 空 2-Center False txtSum 空 2-Center True Label1 + True 属性值 Label2 = True 属性值 frmCalculator 简易计算器 3000 4500 图1.15 “字体”对话框 图1.16 调色板
1.6.4 对象的事件
事件是发生在对象身上,由系统事先设定好的,能被对象识别和响应的动作。例如,用鼠标单击应用程序界面上的一个按钮,则会触发按钮的单击事件(Click),也称为按钮响应了鼠标的单击事件,此时程序会执行该事件过程中的代码。
Visual Basic采用的是事件驱动编程机制,即事件的发生次序完全由用户的操作决定。当用户操作触发了某一事件,在该事件过程中的代码就会被执行,执行结束后,把控制权交给系统,等待下一个事件发生。所以,用户不必考虑程序的执行顺序,只需针对对象的事件编写出相应的事件过程即可。
Visual Basic应用程序设计的主要工作就是为对象编写事件过程的代码,其一般格式为: Private Sub 对象名_事件([参数列表]) …’响应事件时执行的程序代码 End Sub
其中,Sub为定义过程开始的语句,End Sub为定义过程结束的语句,Private表示该过程为局部过程。具体编程时,只要选中编程对象和该对象要响应的事件,对应的事件过程框架由Visual Basic系统自动生成,用户只需在事件过程中编写实现具体功能的程序代码。
在Visual Basic中,每个对象预先设定好了一系列的事件,当外界触发时,由对象来识别并响应。事件可以由一个用户动作产生,如单击鼠标或按下键盘上的按键;也可以由程序代码或系统自动产生,如定时器或加载。
最常见的对象事件触发方式是鼠标和键盘的操作,分别称其为鼠标事件和键盘事件。表1.10列出了鼠标和键盘的操作及其所触发的事件。
表1.10 鼠标事件和键盘事件(表格修改为4列) 事件 Click DblClick MouseDown MouseUp MouseMove KeyDown KeyUp
操作
单击鼠标左键 双击鼠标左键 按下鼠标键 释放鼠标键 移动鼠标
按下键盘上的按键 弹起键盘上的按键
KeyPress 按下并弹起键盘上的按键
当用户向一个对象发出动作时,可能同时在对象身上发生多个事件。例如,单击鼠标时,同时发生了Click、MouseDown、MouseUp事件。设计程序时,没必要对所有这些事件都进行编程响应,而只要对用户感兴趣的事件过程编程即可。没有编码的为空事件过程,系统不处理该事件。
实例1.2中触发了一个事件过程,即命令按钮的单击(Click)事件,在该过程中编写计算两个数之和的过程代码,如下所示。(所有代码注意格式缩进)
Private Sub cmdCal_Click() Cls Print \求任意两数的和:\txtSum.Text = Val(txtNumber1.Text) + Val(txtNumber2.Text) End Sub 【试一试】
编写按钮的Mouse_Down事件,按下鼠标时改变按钮的Caption属性为“求和”。
1.6.5 对象的方法
对象除有自己的属性和事件外,还拥有属于自己的行为,即方法。在Visual Basic中,所谓的“方法”是指对象本身所包含的一些特殊函数或过程,利用对象内部自带的函数或过程,可以实现对象的一些特殊功能和动作。当用方法来控制一个对象的行为时,其实质就是调用该对象内部的某个特殊函数或过程。例如,窗体对象拥有Hide方法和Show方法,调用Hide方法可以使窗体隐藏起来成为不可见,调用Show方法可以使窗体显示成为可见。用户只需会调用这些方法,至于方法内部是如何实现隐藏或显示的,不必管它。
Visual Basic中,对象方法调用的一般格式为: [对象名.]方法名[参数列表]
其中,如果省略了对象名表示为当前对象,一般指窗体。有些方法不要求参数,有些需要带一些参数,参数是对方法所执行动作的进一步描述,将其写在方法名的后面。
例如,窗体对象From1,其方法Cls功能是清除窗体上显示的内容,不带参数,语句为: Form1.Cls
窗体对象的Circle方法功能是在窗体是画圆,有多个参数,用来表示圆的位置、半径、颜色等,语句为:
Form1.Circle (400,300),200,vbBlue
实例1.2中命令按钮的单击事件中使用了窗体的两个方法,清除内容Cls和输出文字Print,前面省略了窗体对象名称,表示当前窗体。 1.6.5 焦点的概述
焦点是对象接收鼠标或键盘输入的能力。当对象具有焦点时,才能接收用户的输入。 窗体和大多数控件都能接收焦点,焦点只会出现在活动窗口中,并且某一时刻只能有一个对象具有焦点。当对象得到或失去焦点时,会自动触发GotFocus或LostFocus事件。
将焦点赋给对象有以下几种方法: ● 用鼠标选定对象。 ● 按快捷键选定对象。
● 按Tab键或Shift+Tab键在当前窗体的各对象之间切换焦点。 ● 在代码中用SetFocus方法设置焦点。 【提示】