RGB(红,绿,蓝),3个参数的取值均为0~255之间的整数 b) 使用QBColor函数 QBColor(颜色码),颜色码的取值为0~15之间的整数。 c) Color常数,如VbBlack d) 8位16进制数
格式为&H
&,中间为8位16进制数。 具体常用颜色码与颜色常数,请参阅P21页表2-2。 将窗体的背景颜色设置为蓝色,代码示例如下: Form1.BackColor = RGB(0, 0, 255) Form1.BackColor = QBColor(9) Form1.BackColor = vbBlue Form1.BackColor = &HFF0000
4) 用Icon设置窗体的图标
使用属性窗口或以代码方式设置窗体的图标。
若以代码方式设置图标,应使用LoadPicture函数。能够加载的图片文件的类型为.ico文件,示例如下:
Form1.Icon = LoadPicture(\
2.1.2 窗体对象的事件和方法
1. 事件
事件是VB预先定义的、能够被对象识别的动作。一旦事件被触发,将执行设计好的“事件过程”,作出不同的响应。
VB窗体的事件主要有:Click、DblClick、Load、Unload、Active、Deactivate、Initialize、Terminate、Resize、Paint等。强调事件发生的条件、顺序,可以MsgBox()函数在不同的事件中写入代码加以验证。
2. 方法
VB提供的每一个方法能够完成某一特定的功能,只能按照预先规定的形式进行调用,格式如下:
[对象].方法 [参数列表]
窗体常用的方法有Print、Cls、Move、Show等,分别介绍如下:
(1) Print方法
格式为:[对象.]Print [表达式1][,|;][表达式2][,|;]……[表达式n]
1) 对象可以是窗体Form、图片框PictureBox、打印机Printer、立即窗口Debug。 2) Print方法兼有运算和输出双重功能,先计算表达式的值,然后再输出。
3) 若同时输出多个表达式的值,中间用逗号(,)或分号(;)分隔,二者的区别是:前者按标准格式显示(14个字符位置为一个区段),后者按紧凑格式输出。
4) 在输入Print关键字时,可用“?”代替,回车后,自动变为Print. 5) 输出字体类型可通过FontName属性设置,语法为:
[窗体.][控件.] | [Printer.] FontName [=“字体类型”] 6) 输出字体大小可通过FontSize设置,语法为: [窗体.][控件.] | [Printer.] FontSize [=点数]
7) 粗体字、斜体字、加删除线、加下划线分别使用属性FontBold、FontItalic、
FontStrikethru、FontUnderline设置,其属性值均为Boolean类型。
属性一旦设置,将一直起作用,不会自动撤销; (2) Cls方法
将Form、PictureBox对象上用Print显示的内容清除
(3) Move方法
[对象.]Move左边距离[,上边距离[,宽度][,高度]]]
改变对象在屏幕或窗体上的位置,对象是除时钟、菜单以外的所有控件。以Twip(缇)为单位,相当于磅的1/20,英寸的1/1440,1厘米有567 缇。
2.2 程序的保存、打开与运行
2.2.1 程序的保存
保存主要有两类文件,即窗体(.frm)文件、工程(.vbp)文件,同时自动生成和维护.vbw和.scc文件。
2.2.2 程序的打开
打开工程文件,即自动打开窗体文件等。
2.2.3 程序的运行
1. 解释执行
方法是:工具栏“启动”按钮、“运行”菜单的“启动”、F5键
特点:每次执行程序,必须对每条语句边解释边执行,运行速度较慢。 2. 编译执行 方法是:“运行”菜单的“全编译执行”、Ctrl+F5键
特点:读取VB程序的语句,对这些语句进行编译,转换为微处理器的指令,然后执行转换以后的指令,不必每次都逐句解释,速度较快。
3. 生成可执行文件
方法是:执行“文件”菜单的“生成工程.EXE”
特点:一旦生成可执行文件,可在不启动VB环境的情况下,直接在Windows环境下执行VB的程序。但需注意,该方式需要VB的相关系统文件(如.ocx、.dll等),因此需要安装VB系统。
2.3 创建基本控件
窗体和控件都是VB的对象,利用工具箱在窗体上添加控件,完成基本界面的设置。
2.3.1 控件对象的建立和编辑
1. 建立对象
在窗体上添加控件对象的方法:
(1) 在工具箱上单击控件图标,然后在窗体上拖动鼠标。
(2) 双击工具箱上的控件图标,则以默认的大小和位置在窗体上添加控件对象。 2. 对象的编辑
在设计状态下,选中控件对象后,利用鼠标拖动(主要是大小、位置)或利用属性窗口完成对象的编辑。
(1) 同时选中多个对象:按住Ctrl或Shift键的同时利用鼠标单击。 (2) 控件对象大小的调整:1)鼠标拖动尺寸柄
2) Shift+方向键
3)设置Width、Height属性
(3) 控件对象位置的调整:1)鼠标拖动控件
2)Ctrl+方向键
3)设置Top、Left属性
(4) 对象的删除
在选定控件对象后,可利用“编辑”菜单或快捷菜单或直接按Delete键进行删除。 3. 对象的命名
对象的命名是为了在程序中能够引用对象,要遵守一定的规则,做到见名知义。一般控件对象的名称前要能标识控件对象的类型,如标签控件前缀为lbl、文本框控件前缀为txt、命令按钮为cmd等,具体约定见P28页表2-3,通过窗体或控件的Name属性设置。
2.3.2 CommandButton(命令按钮)控件
1. CommandButton控件常用属性
包括Name、Caption、Enabled、Visible、Default、Cancel、Style、Picture、ToolTipText等属性,具体含义见P29页表2-4。
(1) Caption:快捷键的创建方法,字母前加&,运行时该字母带下划线,称为快捷键,可直接按Alt+字母,等价于单击该按钮。
(2) Enabled:可用不可用,默认值为True (3) Visible:可见不可见,默认值为True
(4) Default:设置为缺省按钮,在其他控件(如文本框)获得输入焦点时,按“Enter”键,等价于单击该按钮。
(5) Cancel:设置为缺省取消按钮,按“Esc”键,等价于单击该按钮。 (6) Style和Picture常结合使用:先设置Style为1,再设置Picture属性。 2. CommandButton控件常用事件
以Click事件为例,无DblClick事件。
2.3.3 Label(标签)控件
Label控件多用于在窗体上显示文字,不能输入和修改。
1. Label控件属性
包括Name、Caption、BorderStyle、BackColor、BackStyle、ForeColor、Font、Alignment、AutoSize等,见P30页表2-5。
注意With …End With开语句的使用,格式如下: With <对象名> .<属性名>=<属性值> …
End With
例:With Label1
. FontName=“隶书” . FontSize=24 . FontBold=True
. FontUnderline=True . FontStrikethru=True End With
2. Label控件事件
如Click、DblClick等,一般不用。
2.3.4 TextBox(文本框)控件
可以在窗体上显示、输入和编辑文本的控件。
1. TextBox控件属性
包括Name、MultiLine、ScrollBars、MaxLength、Locked、Enabled、PassWordChar等,见P31页表2-6。
(1) Text:
(2) MultiLine和ScrollBars常结合使用:
先设置MultiLine为True,再设置ScrollBars属性。这两个属性设计时可用,而运行时为只读。
(3) MaxLength和PassWordChar常结合使用:
先设置MaxLength的值,再设置PassWordChar属性。 (4) 只能在运行期间设置的属性值:在属性窗口中不可见
①SelLength:文本框中选中的字符个数。
②SelStart:定义当前选择的文本的起始字符位置。 ③SelText:选中的文本内容。 2. TextBox控件事件
(1) Change事件,默认事件 文本框内容变化时发生该事件。 (2) GotFocus、LostFocus事件 在得到或失去焦点时发生。 (3) KeyPress事件
原型为:
Private Sub Text1_KeyPress(KeyAscii As Integer) '在按下并释放键盘的一个按键时发生
'可捕获键盘按键的ASCII值,并做相应处理 End Sub
例2-2的演示
3. SetFocus方法
把光标移动到指定的控件内。格式为:[对象.]SetFocus,其中的对象可为TextBox、CheckBox、CommandButton、ListBox等。
小问题:为什么不能直接在Form的Load事件中设置焦点到TextBox中,即调用TextBox的SetFocus方法?有什么解决的办法?
参考解决办法:
a) Load事件中先Show,然后再SetFocus b) 在Activate事件中调用SetFocus 例2-3演示
小结:创建应用程序的步骤
1、创建用户界面 2、设置对象属性 3、编写事件过程 4、保存文件与运行调试程序 5、生成可执行的EXE文件
2.4 多窗体操作
VB中,一个工程可以包含多个窗体,且可以在窗体之间切换。
2.4.1 添加窗体
1. 添加窗体
(1)工具栏上的“添加窗体”按钮、(2)“工程”菜单的“添加窗体”、(3)“工程资源管理器”窗口使用快捷菜单的添加窗体。 2. 有关的语句和方法
(1) Load语句
格式为:Load <窗体名>,作用是将指定的窗体加载到内存,但窗体并不显示,此时可引用窗体上的控件。
(2) UnLoad语句
格式为:UnLoad <窗体名>,作用是将指定的窗体从内存释放掉;也可使用UnLoad Me将当前窗体释放掉。
(3) Show方法
格式为:[窗体名.]Show,将指定的窗体对象加载到内存并显示。
(4) Hide方法
格式为:[窗体名.]Hide,将指定的窗体隐藏,即不在屏幕上显示,但仍存在内存中。 示例2-4。