VB6 程序设计VB6 程序设计第一章Visual Basic 6.0 概述实例01(见程序EX01) : 窗体中有三个按钮:显示文字,清屏,结束;有一个文本框:用于显示文字: "Hello,Visual Basic!;窗体标题栏显示"VB,你好!. " " 在实验中修改文本框的对齐方式, 显示文字的颜色; 分别在设计时和运行对文本框字号属性进行修改.1.1 VB 简介1.1.1 VB 特点面向对象的可视化面向对象可视化的程序设计方法可视化事件驱动的程序设计机制事件驱动简单易学,功能丰富的程序设计语言交互式的集成开发环境支持动态数据交换,动态链接库和对象的链接和嵌入技术1.1.2 VB 版本简介1991 年:VB1.0 目前,VB 的最新版本是VB6.0,并有VB6.0 中文版. VB6.0 有学习版,专业版和企业版三种不同的发行版本.1.2 VB6 的安装和新特点1.2.1 VB6 运行环境Windows95 或以上Pentium 或更高的处理器CD-ROM 16MB 或以上内存128MB 或以上硬盘空间1第一章Visual Basic6.0 概述1.2.2 VB6 安装简介1.2.3 VB6 新特点增强了数据访问功能:ADO(ActiveX Data Object) 更强大的Internet 应用开发功能新增和加强了一些控件添加和增强了些向导1.3 VB6 的集成开发环境VB6 提供给用户的使用界面是一个集成开发环境,它在一个公共的环境中集成了设计,编辑,编译和调试等功能.1.3.1 启动集成开发环境1.3.2 集成开发环境的组成在VB6 的集成开发环境中,通常显示有标题栏,控制菜单图标,窗口操作按钮,菜单栏,工具栏,窗体设计器,工程管理器,属性窗口,工具箱和窗体布局窗口.此外,还可以根据需要打开代码窗口,调色板,对象浏览器,菜单编辑器和三个用于程序调试的窗口:立即窗口,本地窗口和监视窗口.1.3.3 集成开发环境的菜单1.3.4 集成开发环境的选项设置1.4 使用VB 的帮助系统联机帮助上下文相关帮助2VB6 程序设计第二章VB6 编程初步2.1 VB 编程的基本概念2.1.1 Windows 的工作机制Windows 系统的工作机制可用三个词来概括:窗口,事件和消息. Windows 系统的工作界面是由各种窗口组成的,所谓窗口是指屏幕上的一个矩形区域.事实上,对话框,文本框,图标,命令按钮和打开的菜单等,都可看作窗口.Windows 系统给每一个窗口指定一个唯一的标识号,即窗口句柄,并通过窗口句柄来管理所有窗口. Windows 系统中的事件可简单地理解成一种操作活动.它可以是由鼠标和键盘的操作产生,也可以由系统内部产生,甚至是由某个程序运行或窗口操作产生.Windows 系统不断地监视着系统中每一个窗口的活动和每一个事件的发生. 所谓消息是指事件的信号.每发生一件事件,就引发一条消息.Windows 系统处理这条消息,并把它向系统中程序的各个窗口广播.各个窗口根据其程序中处理该消息的代码指令作出响应.2.1.2 Windows 应用程序的事件驱动运行模式Windows 应用程序的运行是事件(可以是用户通过鼠标和键盘操作产生, 也可以是系统内部通过时钟计时产生, 甚至也可以是由程序运行或窗口操作触发产生)驱动模式,是通过执行响应不同事件的程序代码进行运行的.因此,在使用VB 提供的事件驱动的程序设计机制编写Windows 应用程序时,是对程序中的对象需要响应的事件分别编写出程序代码.2.1.3 创建VB 应用程序的步骤建立工程设计应用程序的界面设置界面对象的属性编写程序代码保存程序执行并调试程序生成可执行程序文件2.2 创建一个简单的VB 应用程序创建一个简单的该应用程序运行时将显示一个窗口,其中有"切换"和"退出"两个按钮:3第二章VB6 编程初步单击"切换"按钮,窗口的一个文本框中将交替显示红色的"VB 编程不难学" 和蓝色的"只要认真下功夫"文字;单击"退出"按钮,将清除窗口并退出程序.VB6 程序设计第三章VB6 的工程管理工程是在VB 中进行Windows 应用程序设计的一个重要概念.所谓工程就是组成一个应用程序的文件的集合.使用VB 创建一个应用程序时,首先必须为它建立一个工程,在应用程序设计过程中,通过工程来管理应用程序所包含的所有文件.3.1 VB 的工程在VB 中可建立多种类型的工程,这里主要介绍标准EXE 类型工程的建造和管理.3.1.1 工程工程是组成一个应用程序的文件的集合, 一个工程通常包括以下几种类型的文件: 工程文件(.vbp) 窗体文件(.frm) 窗体二进制数据文件(.frx) 类模块文件(.cls) 标准模块文件(.bas) ActiveX 控件文件(.ocx) 资源文件(.res)3.1.2 工程管理器工程的操作管理主要是在工程管理器中进行. 工程管理器窗口中显示当前工程所包含的文件列表.3.2 工程的基本操作工程的基本操作主要包括创建,打开和保存工程,在工程中添加,删除和保存文件,以及在工程中添加控件和对象等. 创建,打开和保存工程在工程中添加,删除和保存文件在工程中添加和删除控件部件,对象和资源文件5第三章VB6 的工程管理3.3 工程的属性设置通用属性设置通用属性设置工程类型启动对象工程名称帮助文件名工程帮助上下文标识符工程描述ActiveX 控件升级生成的可执行文件属性设置生成的可执行文件属性设置版本号编译属性设置编译属性设置6VB6 程序设计第四章VB6 编程基础VB 应用程序的结构,代码窗口的使用,VB 代码的书写规则,数据类型, 变量,常量,数组,过程和结构控制语句等.4.1 VB 代码编写基础4.1.1 VB 应用程序的结构一个VB 应用程序通常是由多种类型的文件组成的, 其中最常见的是窗体模块,标准模块和类模块.这些模块都可以包含声明和过程. 1,窗体模块, 在窗体模块中包含窗体及其控件的属性设置值, 同时还包含在该窗体的代码窗口中编写的对常量, 变量, 类型和外部过程的声明以及Sub, Function 和Property 过程. 2,标准模块, 标准模块存放与特定窗口或控件无关的代码, 通常是其他模块共同使用的声明和过程的代码. 3,类模块, 类模块用来定义类,并可用它创建被应用程序中的过程所调用的对象.4.1.2 代码编辑窗口VB 的代码编辑器具有一定智能,可同步显示相应的语法成份结构的提示, 能自动填充语句,属性和参数,使代码编写更加方便.4.1.3 代码的书写规则VB 程序代码不区分大小写. VB 程序代码的主要的书写规则: 可用续行符" _" (一个空格后跟一个下划线)将一个长语句分成多行书写当一行中有多条语句时,语句间用冒号": "分隔注释以注释符"'" (单引号)引导,可放在一行语句的最后,或单独占据一行,但不能放在续行符的后面;注释也可以用关键字"Rem"引导, 但它必须占据一行VB 中缺省数制是十进制数,也可以使用加前缀"&H"和"&0"分别7第四章VB6 编程基础表示的十六进制和八进制数标识符是为程序代码中的变量,常量,类型,过程,函数,类和其他对象的命名.VB 中标识符的命名有如下规则: (1)标识符必须是字母开头,后跟字母,数字或下划线(2)标识符长度不能超过255 个字符,其中窗体,控件,类和模块的标识符长度不能超过40 个字符(3)不能与VB 中受到限制的关键字同名4.2 数据类型一个变量的数据类型指出该变量能存储何种类型的数据.VB 提供了许多基本数据类型,用户也可以根据需要自定义数据类型.4.2.1 基本数据类型VB 的基本数据类型见P46 表 4.2.1,注意它们的类型名,类型符,占用字节数和表示范围. 例: Dim YesorNo As Boolean Dim A As Byte,B As Byte Dim I As Integer Dim L As Long Dim A As Single Dim P As Currency Dim X As Double,Y As Double Private S As String Dim Name As String*20 Dim D As Date Dim V Dim a%,b&,c!,d# 'a 为整型, 为长整型, 为单精度型, b c d 为双精度型,@为货币型,$为字符串型YesorNo=1>2 A=&H0F:B=&H01 A=A+B X=1.88E18:Y=2.01D16 X=X*Y S="Database" S=Left(S,4) D=#4/6/1999 8:30:50PM# V="17" V=V-15 V="U"&V 除了可以像其它标准类型一样操作外, Variants 类型变量还包含四个特殊值: Empty,Nothing,Null 和Error.VB6 程序设计4.2.2 用户自定义数据类型格式: [Private|Public] Type varname elementname as type …End Type 例: Private Type StuRecord Name As String*30 Birthday As Date Other As Variant End As Variant Dim Record1 As StuRecord,Record2 As StuRecord ="Abc"4.2.3 枚举类型在模块的声明段用Enum 语句来声明枚举类型,例如: Private Enum ElementSet Sun Mon Tue End Enum4.3 变量与常量在应用程序执行期间, 变量用来存储可能变化的数值, 常量表示固定不变的数值. 通常, 在使用变量和常量前必须事先声明, 并且它们有着自己的有效范围.4.3.1 变量变量有名字, 它是用来引用变量所包含的数据的标识符; 变量具有数据类型, 以确定变量能够存储的数据种类. 变量的命名应遵循标识符命名的规则一般应用变量声明语句声明变量(显式声明,隐式声明,有效范围)4.3.2 常量VB 中有两种常量, 一种是系统预定义的常量, 还有一种是用户定义的常量. 用户定义常量的命名用户定义常量的声明[Public|Private] Const constantname [As type]=expression9第四章VB6 编程基础用户定义常量的有效范围4.4 数组数组是指具有相同的数据类型的有序数据的集合, 即一个数组中的所有元素具有相同的数据类型. 当声明了Variant 类型的数组时,其元素能够包含不同类型的数据.4.4.1 大小固定的数组1,数组的命名, 2,数组的声明, 根据声明的数组的有效范围不同,有三种方法声明大小固定的数组. 过程级数组,在该过程中用Dim 语句声明,例:Dim Number(10) As Integer 或Dim K(1 To 5)或Static State(10) As Boolean 模块级数组, 在模块的声明段中用Private 或Dim 语句声明, 例: Private A(10) As Integer 或Dim Address(1 To 50) As String*30 全局级数组, 在模块的声明段中用Public 语句声明, Public Price(10) 例: As Double 或Public Name(1 To 50) AsString*20 3,数组的引用, Dim n As Integer Dim Number(10) As Integer For n=0 To 10 Number(2)=2 Next n 4,多维数组, 例: Dim I As Integer,J As Integer Static MatrixA(1 To 10,1 To 10) As Double For I=1 To 10 For J=1 To 10 MatrixA(I,J)=I*10+J Next J Next I10VB6 程序设计4.4.2 动态数组1,动态数组的声明, 过程级动态数组:Dim dynArray()或Dim dynList() As Single 模块级动态数组:Private dynA() As Integer 或Dim dynArray() 全局级动态数组:Public dynArray() As Double 或Public dynList() 2,动态数组的定义, 动态数组声明后并不能立即使用,还必须在使用它的过程中,用ReDim 语句对它的维数和上下界进行定义. 例: ReDim dynArray(1 To 10) ReDim dynArray(2,1 To N) 注意: ReDim 语句通常是一个执行语句,只能在过程中使用可使用ReDim 语句反复改变动态数组的维数和上下界,但一般不能修改它的数据类型4.5 运算符和表达式4.5.1 运算符运算符是表示实现某种运算功能的符号. 按运算的操作对象和操作结果的不同数据类型,VB 中的运算符有自述运算符,连接运算符,比较运算符,逻辑运算符和位运算符等多种类型. 1,算术运算符, 算术运算符用来进行数学计算. P58 表 4.5.1 按优先级别从高到低的顺序列出了VB 中的算术运算符. 例: V=2^3^2 'V 的值为64,Double 类型V=-(3.14+12)*5.2/3 V=13.14\5.8 'V 的值为13 除以5 的商2,Long 类型V=15.14 Mod 3.8 'V 的值为15 除以4 的余数3,Long 类型2,连接运算符, 连接运算符用来连接两个字符串.11第四章VB6 编程基础3,比较运算符, 比较运算符,亦称关系运算符,被用作两个表达式之间的比较操作,结果是一个布尔类型的量. P59 表 4.5.3 列出了VB 中的比较运算符. 4,逻辑运算符, 逻辑运算符用作逻辑类型表达式之间的逻辑操作, 结果一般是一个布尔类型的量. P60 表 4.5.4 列出了逻辑运算符及它们运算的结果. 5,位运算符, 位运算符用于实现对操作数的二进制位操作.VB 使用逻辑运算符作为位运算符,分别被称为按位取反(NOT) ,按位与(AND) ,按位或(OR) ,按位异或,按位相等(EQV)和按位蕴含(IMP) . (XOR)4.5.2 表达式VB 中的表达式是由常量,变量,运算符,函数和圆括号组成的有意义的式子. 根据表达式结果的数据类型, 可把表达式分为数值表达式, 字符表达式和逻辑表达式等. 在书写VB 中的表达式时应注意以下几点: 优先顺序从高到低排列为:函数-算术运算-比较运算符-逻辑运算符使用圆括号可明显地反映运算顺序或改变原定的优先顺序如有必要,应使用类型转换函数对表达式中操作数的数据类型进行转换,而尽可能不用VB 的数据类型自动转换功能,以免不必要的错误4.6 过程过程是构成程序的逻辑模块, 一般能完成一个相对独立的功能. 利用过程能使程序结构模块化,以便于程序的开发,调试和维护;同时,利用过程还能实现多个程序对它的共享,可降低程序设计的工作量,提高软件开发的工作效率. 在VB 中有 3 种过程:Sub 过程,Function 过程和Property 过程.4.6.1 Sub 过程Sub 过程,亦称为子过程,是实现某一特定功能的代码段.它或者由程序调用,或者由事件触发,没有返回值. Sub 过程的语法是: [Private|Public][Static] Sub Procedurename(arguments) '过程头statements '过程体End Sub '过程尾12VB6 程序设计子过程可出现在窗体模块,标准模块和类模块中.在VB 中子过程被分为通用过程和事件过程两类. 通用过程出现在模块的通用段中,它必须在程序中通过语句来调用. 例(见程序EX2) . 事件过程主要出现在窗体模块的窗体段和各控件段中, 也可以出现在类模块的类段中.事件过程是由对象的事件所触发调用的. 事件过程的过程名.4.6.2 Function 过程Function 过程,亦称为函数过程,它是实现某一数据处理功能并返回处理结果的代码段. Function 过程的语法: [Private|Public] [Static] Function functionname(arguments) [As type] statements End Function 例: Private Function Hypotenuse(A As Integer,B As Integer) As Double Hypotenuse=Sqr(A^2+B^2) End Function 调用Function 过程的方法和数学中使用函数的方法一样,即在表达式中可以通过使用函数名,并在其后用圆括号给出相应的参数列表来调用一个Function 过程.也能像调用Sub 过程那样调用函数. 例: Y=Hypotenuse(3,4) Call Year(Now) Year Now 当用这种方法调用函数时,VB 放弃该函数的返回值.4.6.3 VB 过程的参数传递1.参数的按值传递和按地址传递在过程定义中,按值传递的形式参数前要带有关键字ByVal.例如,下列过程中的参数x 和y 都是被声明为调用时按值传递的参数. Private Sub Change1(ByVal x As Integer,ByVal y As Integer) Dim intTemp As Integer intTemp=x:x=y:y=intTemp End Sub 要在过程定义中声明按地址传递(缺省方式)的形式参数,应加上关键字ByRef,例如: Private Sub Change2(ByRef m As Integer,ByRef n As Integer) Dim intTemp As Integer IntTemp=m:m=n:n=intTemp End Sub13第四章VB6 编程基础例:见2#0403 2.数组参数的传递VB 的过程中允许以数组作为参数.在使用时应注意: 数组参数只能按地址传递,而不能按值传递. 在形式参数表和实在参数表中,数组参数要忽略维数声明. 例:编写求一维数组中所有元素之和的程序. 程序如下: Private Sub Form_Click() Dim a(1 To 5) As Integer, k As Integer For k = 1 To 5 a(k) = k + 1 Next k Print "Sum="; ArrSum(a()) End Sub Private Function ArrSum(x() As Integer) As Integer Dim i As Integer, t As Integer t=0 For i = LBound(x, 1) To UBound(x, 1) t = t + x(i) Next i ArrSum = t End Function 这里, 系统内部函数LBound 和UBound 分别求数组指定维数的下界和上界, 其中维数可缺省(指一维数组的唯一的一维) . 在VB 过程的参数表中,可使用关键字Optional 建立可选参数,也可使用关键字ParamArray 声明不定数量的参数.4.6.4 过程的递归VB 中的过程可以是递归的,也就是说,过程可以调用自己来完成某个特定的任务. 例如,计算阶乘的函数;求两个数的最大公约数等. 注意:构成递归要有两个条件,一是要有确定的递归结束条件和结束值,二是具有能驱向递归结束条件的递归形式表示.4.6.5 系统内部函数VB 提供了丰富的系统内部涵数,可在程序代码中直接调用.这些函数按处理功能可分为数学函数,字符串函数,日期函数,类型转换函数,格式输出函数和交互函数等. 注意:函数int()与函数fix()的区别) (注意注意: 格式输出函数Format 可使数值,日期或字符串按指定的格式输出,通常用Print 方法中. 交互函数MsgBox 和InputBox 可分别打开一个消息对话框和输入对话框, 格式:14VB6 程序设计MsgBox(prompt[,buttons][,title]) InputBox(prompt[,title][,default]) 例: intAB=MsgBox("是否继续?",vbYesNo+vbExclamation,"消息框") strAB=InputBox("请输入姓名","输入框")4.6.6 常用方法从本质上说,方法就是一种过程,是面向对象的过程. 常见的方法有:Cls,Print,Move 等.4.7 VB 基本语句4.7.1 赋值语句赋值语句的语法: [Let] varname=expression4.7.2 选择语句选择语句,也称条件分支语句. 1.If 语句格式: (1) If 条件Then 语句(2) If 条件Then 语句End If (3) If 条件Then 语句1 Else 语句2 (4) If 条件Then 语句1 Else 语句2 End If 2.Select Case 语句Select Case 语句,亦称情况语句,语法如下: Select Case 测试表达式Case 表达式列表1 语句组 1 Case 表达式列表2 语句组2 ……[Case Else15第四章VB6 编程基础语句组] End Select4.7.3 循环语句1.For…Next 语句亦称计数循环,语法如下: For 循环变量=初值To 终值[步长] 语句组Next [循环变量] 例1:编写程序,使其能在窗体显示输入的6 个整数和其中的最大数. 例2:在窗体中,单击"判别"按钮,出现一个输入框,在输入框中输入一个整数后, 在窗体文本框中即显示该整数是否为素数的字样; 单击"退出" 按钮, 可退出程序. 例3:用筛选法找出 2 到100 之间的素数,并按一定的格式在窗体上显示出来. 程序代码: Private Sub Form_Click() Dim a(2 To 100) As Boolean, n As Integer, m As Integer For n = 2 To 100 a(n) = True Next For n = 2 To 100 If a(n) Then For m = n + 1 To 100 If m Mod n = 0 Then a(m) = False Next m End If Next n m=0 For n = 2 To 100 If a(n) Then Print Tab(m * 8); n;: m = m + 1 If m = 5 Then Print: m = 0 Next n End Sub 例4:设计一个程序,启动后即能产生并显示10 个随机二位正整数,单击窗体可将这10 个数按从小到大的顺序显示. 程序代码: Const N = 10 Dim a(1 To N) As Integer Private Sub Form_Activate() Dim m As Integer, k As Integer k=0 For m = 1 To N16VB6 程序设计a(m) = 10 + Int(Rnd * 90) Print a(m); " ";: k = k + 1 If k = 5 Then Print: k = 0 Next m Print End Sub Private Sub Form_Click() Dim m As Integer, k As Integer, T As Integer For m = 1 To N - 1 For k = 1 To N - m If a(k) > a(k + 1) Then T = a(k): a(k) = a(k + 1): a(k + 1) = T End If Next Next k=0 For m = 1 To N Print a(m); " ";: k = k + 1 If k = 5 Then Print: k = 0 Next m Print End Sub 2.For Each…Next 语句亦称遍历循环 3.Do…Loop 语句有当型循环(While)和直到型循环(Until)两种当型循环Do While 循环条件语句组Loop 或Do 语句组Loop While 循环条件直到型循环Do Until 条件语句组Loop 或Do 语句组Loop Until 条件注意:17第四章VB6 编程基础Do…Loop 语句可以嵌套使用. 如果Exit Do 使用在嵌套的Do…Loop 语句中,则Exit Do 会将控制权转移到外层循环. 在循环体中,或者有退出循环的Exit Do 语句,或者有使循环向结束转化的语句,防止陷入"死循环" . 4.While…Wend 语句语句如下: While 条件语句组Wend 例5:已知自然对数的底数e 的级数表示如下: 1 1 1 1 e = 1 + + + + ...... + + ...... 1! 2! 3! n! 利用上述公式求e,其中绝对值小于1E-8 的项被忽略. 程序代码: Private Function fac(n As Integer) As Single If n = 0 Then fac = 1 Else fac = n * fac(n - 1) End If End FunctionPrivate Sub Form_Click() Dim e As Single, term As Single Dim m As Integer e = 1: m = 1 term = 1 / fac(m) Do While Abs(term) >= 0.00000001 e = e + term m=m+1 term = 1 / fac(m) Loop Print "e="; Format(e, "#.######") End Sub4.7.4 其他控制语句1.Go To 语句例: Go To Line1 ……Line1: ……注意:18VB6 程序设计本过程内无条件转移尽可能少用此语句 2.End 语句例:End,End Sub,End If,End With 等3.Exit 语句Exit Do,Exit For,Exit Sub,Exit Function 等.19第五章窗体和标准控件第五章窗体和标准控件5.1 VB 的对象5.1.1 对象的概念对象是数据和代码的集合,可以看成一个编程的单元. VB 中的常用对象多为"可视"的,其中工具箱中控件都是对象.5.1.2 对象的属性属性是对象的特征(外观和行为) ,表现为一些属性值.可以通过改变对象的属性来改变对象的特征. 属性可以在设计进设定,也可以在运行时设定.5.1.3 对象的事件对象事件是指对象所能识别并响应的动作.例如:单击按钮等.5.1.4 对象的方法对象的方法是指对象能执行的动作.例如:Move 即表示对象有移动这样一种方法.使用使用对象方法的语句为: 对象名称.对象方法[参数] 例: Form2.Load Form1.Move 0,05.2 窗体5.2.1 窗体的属性窗体对象是VB 应用程序的基本构造模块, 是运行应用程序时与用户交互操作的实际窗口. 窗体的常用属性有:名称,Caption,Icon,MaxButton,MinButton,Height, Width,Left,Top,WindowState 等20VB6 程序设计5.2.2 窗体的事件窗体常用事件: Load, DragOver, MouseMove, GotFocus, MouseUp, DblClick, UnLoad, Click, Deactivate,LostFocus,DragDrop,MouseDown5.2.3 窗体的方法窗体的常用方法有: Hide,Print,Show,Move,Refresh,PrintForm,SetFocus 等.5.3 控件使用基础在VB 程序中,除了窗体对象外,还有包含在窗体对象中的对象——控件.5.3.1 控件的分类VB6.0 中的控件分为三类:标准控件,ActiveX 控件和可插入的对象. 标准控件又称为内部控件,是VB 本身提供的. ActiveX 控件包含在ActiveX 控件部件中. 可插入对象是指由其它应用程序创建的不同格式的数据.5.3.2 控件的基本操作建立控件选中控件改变控件大小删除,移动控件复制控件5.3.3 控件数组控件数组由一组相同的类型的控件组成, 具有共同的名称, 它们的事件过程相同.控件数组的Index 属性区分控件数组中的元素.5.3.4 控件的焦点焦点是对象接收用户鼠标或键盘输入的能力.可以在代码中用控件的SetFocus 方法来动态设置焦点. 当控件得到或失去焦点时,会产生以下事件:GotFocus,LostFocus.21第五章窗体和标准控件5.4 标准控件在缺省情况下,VB 工具箱显示General 选项卡,提供最常用的标准控件.5.4.1 命令按钮(CommandButton) 命令按钮( )命令按钮是VB 中最常用的基本控件之一,几乎各种应用程序都有命令按钮. 常用属性:Name,Caption(定义快捷键) ,Font,Enabled,Visible, BackColor,Default,Cancel,Index 等主要事件:Click,MouseDown,MouseUp 等(不支持双击事件)5.4.2 文本框(TextBox) 文本框( )文本框是一个多功能控件,可以显示或者接收用户输入的文本信息. 常用属性: Text , MultiLines , MaxLength , Locked , ScrollBars , Passwordchar,SelStart,SelLength,SelText 等主要事件:KeyPress, Change,Lostfocus,Gotfocus 等方法:Setfocus 等5.4.3 标签(Label) 标签( )标签控件主要用来显示文本.与文本框不同的是,在标签中只能显示文本, 而不能编辑文本. 常用属性: Name, Caption, Font, Enabled, Visible, BackColor, ForeColor, Alignment,AutoSize,WordWrap,BackStyle,BorderStyle 等应用举例:2#P104 例 5.2,P107 例5.3,P108 例5.4,P110 例5.5实验: 实验:用命令按钮改变窗体颜色文字颜色. (见1#P21 例2-7)5.4.4 复选框(CheckBox) 复选框( )复选框是应用程序中允许用户进行多项选择的控件. 常用属性: Name, Caption, Font, Enabled, Visible, BackColor, ForeColor, Value 等主要事件:Click 等,不支持双击事件22VB6 程序设计5.4.5 单选按钮(OptionButton) 单选按钮( )单选按钮通常以按钮组的形式出现,用户可从中选择一个选项. 常用属性: Name, Caption, Font, Enabled, Visible, BackColor, ForeColor, Value 等主要事件:Click 等5.4.6 框架(Frame) 框架( )框架控件用来对其他控件进行分组,以便于用户识别和功能上分区. 常用属性: Name, Caption, Font, Enabled, Visible, BackColor, ForeColor 等5.4.7 列表框(ListBox) 列表框( )列表框控件显示项目列表,用户可从中选择一个或多个项目. 常用属性: Name, Caption, Font, Enabled, Visible, BackColor, ForeColor, List,ListCount,ListIndex,Selected,Sorted,Text 等主要事件:Click,DbClick 等常用方法:AddItem,RemoveItem,Clear 等List 属性包含一个数组,用于访问列表框中的项目.列表框中的每个项目都是数组的元素,每个项目以字符串形式表示. 引用列表框的项目时使用格式: 列表框名称.List(index) 第一个项目的index 为0,最后一个项目的索引号为ListCount-1. ListCount 属性只能在程序中引用. ListIndex 属性只能在程序中设置或引用,表示在列表框控件中当前所选项目的索引号.如果没有选择项目,其值为-1. Selected 属性只能在程序中引用,反映列表框中的项目是否被选中.例:若Selected(0)为True,表示第一项被选中. Sorted 属性指定控件中的项目是否自动按字母顺序排序. Text 属性只能在程序中引用,返回列表框中所选择的项目内容.其返回的内容与表达式List(ListIndex)的返回内容相同. 主要事件:Click,DbClick 等常用方法:AddItem,RemoveItem,Clear 等应用举例: 2#P117[例5.8]编写能对列表框中的项目进行添加,删除和统计的应用程序. 要求:单击"添加"按钮,可将文本框中输入的内容添加到下面的列表框;单击"删除"按钮可删除列表框中选定的项目;单击"统计人数"按钮,可将列表框中的项目总数输出到右边的文本框(该文本框不允许用户编辑) .。