本书通过大量实例,深入浅出地介绍了Visual Basic 6.0中文版的开发环境、对象和事件驱动的概念、运算符和表达式、数据输入输出、常用标准控件、基本控制结构、数组和记录、过程调用、键盘和鼠标事件、菜单程序设计、对话框程序设计、多窗体程序设计以及文件处理等问题。针对初学者的特点,全书在编排上注意了由简及繁、由浅入深和循序渐进,力求通俗易懂、简捷实用。只要具有Windows初步知识,就可以通过本书掌握Visual Basic程序设计的基本内容。全书每章都附有习题,便于学习和教学。
本书可作为高等学校教材,并可作为全国计算机等级考试(NCRE)的应试教材,也可以供读者自学使用。
作者编写的《Visual Basic程序设计教程题解与上机指导》(第四版)可以与本书配套使用。电子教案可在清华大学出版社网站(www.tup.com.cn)下载。
Visual Basic称得上是Microsoft公司迄今为止最成功的开发工具,在全世界拥有数以百万计的用户。它之所以受到人们的青睐,原因是多方面的,但主要有两点: 一是功能强大,二是容易掌握。Visual Basic的出现,打破了Windows应用程序的开发由专业的C程序员一统天下的局面,即使非专业人员也能在较短的时间内开发出质量高、界面好的Visual Basic应用程序。
Visual Basic功能强大,内容十分丰富。Visual Basic 5.0及以后的版本已发展成为大型程序设计语言,要在一本书中面面俱到地讲述全部功能是不现实的。笔者认为,对于初学者来说,应当把主要精力放在最基本、最常用的那些部分,待有一定基础后再学习其他部分。本书介绍的是Visual Basic 6.0的基础知识,是Visual Basic最基本的部分,适用于初学者。针对初学者的特点,在体系结构和内容上注意了由简到繁、由浅入深、循序渐进、深入浅出以及理论与实践的密切结合。在介绍新概念时,一般从具体问题入手,然后逐步引出概念和结论,并通过不同类型的例题,帮助读者掌握Visual Basic程序设计的方法和技巧,力求使读者能顺利地理解和掌握每个新引入的概念。考虑到Visual Basic是为编写应用软件而研制的,本书中的例题主要用来加深对概念的理解。只有理解了这些基本概念,才能用Visual Basic设计复杂的应用程序;在掌握了本书的内容之后,就可以登堂入室,达到更高的境界。
为了适应广大初学者的需要,本书不要求读者具有专门的计算机专业知识的基础,也不要求有其他计算机高级语言的编程经验,只要求读者具有Windows的初步知识。Visual Basic 6.0是在Windows环境下运行的编程语言,与Windows有着十分密切的关系。为了节省篇幅,集中讨论Visual Basic的程序设计技术,本书没有专门介绍Windows的操作,但它是学习和掌握Visual Basic程序设计方法的重要方面。因此,为了能顺利地学习Visual Basic程序设计,在学习本书的内容之前,应适当地学习Windows的基础知识。
Visual Basic 6.0包括3种版本:学习版、专业版和企业版。这些版本是在相同的基础上建立起来的,因此大多数应用程序可以在3种版本中通用。本书使用的是Visual Basic 6.0中文企业版,但其内容可用于专业版和学习版,书中所有程序可以在专业版和学习版中运行。此外,本书的大部分内容实际上与版本的更新无关,对仍在使用旧版本的用户同样适用。
本书于2006年8月发行第三版,受到广大读者欢迎,先后多次重印。根据专家和读者的意见,结合笔者本人的应用实践,在第三版的基础上进行了修订。这次修订,对第三版的内容没有作太大的改动,只进行了部分修改和调整,使需要掌握的内容更加突出,以便于学习。
全书共分14章,主要内容包括:Visual Basic程序开发环境、对象和事件驱动的概念、运算符和表达式、数据输入输出、常用标准控件、基本控制结构、数组和记录、过程调用、键盘和鼠标事件过程、菜单程序设计、对话框程序设计、多窗体程序设计、文件处理等。
在我国,Visual Basic正在受到越来越多的计算机专业和非专业人士的重视,希望本书的修订能给读者学习和使用Visual Basic带来一些便利。感谢读者选择和使用本书,欢迎专家和广大读者对本书批评指正,提出修改意见,笔者将不胜感激。
刘炳文2009年8月
第1章 Visual Basic编程环境1
1.1 可视化与事件驱动型语言1
1.1.1 可视化界面设计1
1.1.2 事件驱动的编程机制2
1.2 Visual Basic的启动与退出2
1.3 主窗口5
1.3.1 标题栏和菜单栏5
1.3.2 工具栏7
1.4 其他窗口8
1.4.1 窗体设计器和工程资源管理器8
1.4.2 属性窗口和工具箱窗口10
习题12
第2章 对象13
2.1 对象及其属性设置13
2.1.1 Visual Basic的对象13
2.1.2 对象属性设置15
2.2 窗体17
2.2.1 窗体的结构与属性17
2.2.2 窗体事件22
2.3 控件22
2.3.1 内部控件23
2.3.2 控件的命名和控件值24
2.4 控件的画法和基本操作26
2.4.1 控件的画法26
2.4.2 控件的基本操作27
习题29
第3章 建立简单的Visual Basic应用程序31
3.1 语句31
3.1.1 Visual Basic中的语句31
3.1.2 赋值、注释、暂停和结束语句32
3.2 编写简单的Visual Basic应用程序35
3.2.1 程序设计35
3.2.2 代码编辑器41
3.3 程序的保存、装入和运行42
3.3.1 保存程序42
3.3.2 程序的装入44
3.3.3 程序的运行45
3.4 Visual Basic应用程序的结构与工作方式46
习题47
第4章 数据类型、运算符与表达式49
4.1 基本数据类型49
4.2 常量和变量52
4.2.1 常量52
4.2.2 变量54
4.3 变量的作用域57
4.3.1 局部变量与全局变量57
4.3.2 默认声明58
4.4 常用内部函数60
4.4.1 转换、数学及日期和时间函数60
4.4.2 字符串函数62
4.4.3 Shell函数66
4.5 运算符与表达式67
4.5.1 算术运算符68
4.5.2 关系运算符与逻辑运算符69
4.5.3 字符串表达式与日期表达式72
4.5.4 表达式的执行顺序73
习题74
第5章 数据输入输出76
5.1 数据输出--Print方法76
5.1.1 Print方法76
5.1.2 与Print方法有关的函数和方法78
5.1.3 格式输出81
5.2 数据输入--InputBox函数84
5.3 MsgBox函数和MsgBox语句87
5.3.1 MsgBox函数87
5.3.2 MsgBox语句90
5.4 字形91
5.4.1 字体类型和大小91
5.4.2 其他属性92
习题94
第6章 常用标准控件96
6.1 文本控件96
6.1.1 标签96
6.1.2 文本框97
6.2 图形控件101
6.2.1 图片框和图像框102
6.2.2 图形文件的装入104
6.2.3 直线和形状107
6.3 按钮控件109
6.3.1 属性和事件109
6.3.2 应用举例110
6.4 选择控件--复选框和单选按钮112
6.4.1 复选框和单选按钮的属性和事件113
6.4.2 应用举例114
6.5 选择控件--列表框和组合框116
6.5.1 列表框116
6.5.2 组合框120
6.6 滚动条124
6.7 计时器126
6.8 框架129
6.9 焦点与Tab顺序131
6.9.1 设置焦点131
6.9.2 Tab顺序132
习题134
第7章 Visual Basic控制结构137
7.1 选择控制结构137
7.1.1 单行结构条件语句137
7.1.2 块结构条件语句138
7.1.3 IIf函数142
7.2 多分支控制结构143
7.3 For循环控制结构147
7.4 当循环控制结构152
7.5 Do循环控制结构155
7.6 多重循环160
7.7 GoTo型控制162
7.7.1 GoTo语句162
7.7.2 On…GoTo语句164
习题164
第8章 数组与记录167
8.1 数组的概念167
8.1.1 数组的定义167
8.1.2 默认数组171
8.2 动态数组172
8.2.1 动态数组的定义172
8.2.2 数组的清除和重定义175
8.3 数组的基本操作176
8.3.1 数组元素的输入、输出和复制176
8.3.2 For Each…Next语句180
8.4 数组的初始化182
8.5 控件数组184
8.5.1 基本概念184
8.5.2 建立控件数组185
8.6 记录188
8.6.1 记录类型和记录类型变量188
8.6.2 记录变量的初始化及其引用190
8.7 记录数组193
习题196
第9章 过程199
9.1 Sub过程199
9.1.1 建立Sub过程199
9.1.2 调用Sub过程202
9.2 Function过程204
9.2.1 建立Function过程204
9.2.2 调用Function过程206
9.3 参数传送209
9.3.1 形参与实参209
9.3.2 引用211
9.3.3 传值213
9.3.4 数组参数的传送215
9.4 可选参数与可变参数222
9.4.1 可选参数222
9.4.2 可变参数223
9.5 对象参数224
9.5.1 窗体参数224
9.5.2 控件参数226
9.6 局部内存分配230
9.7 递归232
习题236
第10章 键盘与鼠标事件238
10.1 KeyPress事件238
10.2 KeyDown和KeyUp事件241
10.3 鼠标事件248
10.3.1 鼠标位置249
10.3.2 鼠标按钮251
10.3.3 转换参数253
10.4 鼠标光标的形状256
10.4.1 MousePointer属性256
10.4.2 设置鼠标光标形状256
10.5 拖放258
10.5.1 与拖放有关的属性、事件和方法258
10.5.2 自动拖放260
10.5.3 手动拖放262
习题265
第11章 菜单程序设计267
11.1 Visual Basic中的菜单267
11.2 菜单编辑器268
11.3 用菜单编辑器建立菜单271
11.3.1 界面设计271
11.3.2 编写程序代码273
11.4 菜单项的控制275
11.4.1 有效性控制275
11.4.2 菜单项标记277
11.4.3 键盘选择279
11.5 菜单项的增减280
11.6 弹出式菜单283
习题287
第12章 对话框程序设计288
12.1 概述288
12.1.1 对话框的分类与特点288
12.1.2 自定义对话框289
12.1.3 通用对话框控件291
12.2 文件对话框292
12.2.1 文件对话框的结构292
12.2.2 文件对话框的属性293
12.2.3 文件对话框举例296
12.3 其他对话框298
12.3.1 颜色对话框298
12.3.2 字体对话框299
12.3.3 打印对话框301
习题304
第13章 多窗体程序设计与环境应用306
13.1 建立多窗体应用程序306
13.1.1 与多窗体程序设计有关的语句和方法306
13.1.2 建立界面307
13.1.3 编写程序代码311
13.2 多窗体程序的执行与保存318
13.2.1 指定启动窗体318
13.2.2 多窗体程序的存取319
13.3 Visual Basic工程结构320
13.3.1 标准模块321
13.3.2 窗体模块321
13.3.3 Sub Main过程322
13.4 闲置循环与DoEvents语句324
13.5 系统对象326
13.5.1 App对象326
13.5.2 Screen对象327
习题328
第14章 文件330
14.1 文件概述330
14.2 文件的打开与关闭332
14.2.1 文件的打开或建立332
14.2.2 文件的关闭334
14.3 文件操作语句和函数335
14.3.1 文件指针335
14.3.2 其他语句和函数336
14.4 顺序文件337
14.4.1 顺序文件的写操作337
14.4.2 顺序文件的读操作342
14.5 随机文件347
14.5.1 随机文件的读写操作347
14.5.2 随机文件举例348
14.6 用控件显示和修改随机文件355
14.7 二进制文件358
14.7.1 二进制存取与随机存取359
14.7.2 程序举例359
14.8 文件系统控件360
14.8.1 驱动器列表框和目录列表框361
14.8.2 文件列表框363
14.8.3 程序举例365
14.9 文件基本操作369
习题371
参考文献373Visual Basic编程环境11.1 可视化与事件驱动型语言1
1.1.1 可视化界面设计1
1.1.2 事件驱动的编程机制2
1.2 Visual Basic的启动与退出2
1.3 主窗口5
1.3.1 标题栏和菜单栏5
1.3.2 工具栏7
1.4 其他窗口8
1.4.1 窗体设计器和工程资源管理器8
1.4.2 属性窗口和工具箱窗口10
习题12
对象132.1 对象及其属性设置13
2.1.1 Visual Basic的对象13
2.1.2 对象属性设置15
2.2 窗体17
2.2.1 窗体的结构与属性17
2.2.2 窗体事件22
2.3 控件22
2.3.1 内部控件23
2.3.2 控件的命名和控件值24
2.4 控件的画法和基本操作26
2.4.1 控件的画法26
2.4.2 控件的基本操作27
习题29
建立简单的Visual Basic应用程序313.1 语句31
3.1.1 Visual Basic中的语句31
3.1.2 赋值、注释、暂停和结束语句32
3.2 编写简单的Visual Basic应用程序35
3.2.1 程序设计35
3.2.2 代码编辑器41
3.3 程序的保存、装入和运行42
3.3.1 保存程序42
3.3.2 程序的装入44
3.3.3 程序的运行45
3.4 Visual Basic应用程序的结构与工作方式46
习题47
数据类型、运算符与表达式494.1 基本数据类型49
4.2 常量和变量52
4.2.1 常量52
4.2.2 变量54
4.3 变量的作用域57
4.3.1 局部变量与全局变量57
4.3.2 默认声明58
4.4 常用内部函数60
4.4.1 转换、数学及日期和时间函数60
4.4.2 字符串函数62
4.4.3 Shell函数66
4.5 运算符与表达式67
4.5.1 算术运算符68
4.5.2 关系运算符与逻辑运算符69
4.5.3 字符串表达式与日期表达式72
4.5.4 表达式的执行顺序73
习题74
数据输入输出775.1 数据输出--Print方法77
5.1.1 Print方法77
5.1.2 与Print方法有关的函数和方法79
5.1.3 格式输出82
5.2 数据输入--InputBox函数85
5.3 MsgBox函数和MsgBox语句88
5.3.1 MsgBox函数88
5.3.2 MsgBox语句91
5.4 字形92
5.4.1 字体类型和大小92
5.4.2 其他属性93
5.5 打印机输出95
5.5.1 直接输出95
5.5.2 窗体输出97
习题98
常用标准控件1016.1 文本控件101
6.1.1 标签101
6.1.2 文本框102
6.2 图形控件106
6.2.1 图片框和图像框107
6.2.2 图形文件的装入109
6.2.3 直线和形状112
6.3 按钮控件114
6.3.1 属性和事件114
6.3.2 应用举例115
6.4 选择控件--复选框和单选按钮117
6.4.1 复选框和单选按钮的属性和事件118
6.4.2 应用举例119
6.5 选择控件--列表框和组合框121
6.5.1 列表框121
6.5.2 组合框125
6.6 滚动条129
6.7 计时器131
6.8 框架134
6.9 焦点与Tab顺序136
6.9.1 设置焦点136
6.9.2 Tab顺序138
习题139
Visual Basic控制结构1427.1 选择控制结构142
7.1.1 单行结构条件语句142
7.1.2 块结构条件语句143
7.1.3 IIf函数147
7.2 多分支控制结构148
7.3 For循环控制结构152
7.4 当循环控制结构157
7.5 Do循环控制结构160
7.6 多重循环165
7.7 GoTo型控制168
7.7.1 GoTo语句168
7.7.2 On-GoTo语句169
习题170
数组与记录1728.1 数组的概念172
8.1.1 数组的定义172
8.1.2 默认数组176
8.2 动态数组177
8.2.1 动态数组的定义177
8.2.2 数组的清除和重定义180
8.3 数组的基本操作181
8.3.1 数组元素的输入、输出和复制181
8.3.2 For Each…Next语句185
8.4 数组的初始化187
8.5 控件数组189
8.5.1 基本概念189
8.5.2 建立控件数组190
8.6 记录193
8.6.1 记录类型和记录类型变量193
8.6.2 记录变量的初始化及其引用195
8.7 记录数组198
习题201
过程2049.1 Sub过程204
9.1.1 建立Sub过程204
9.1.2 调用Sub过程207
9.1.3 通用过程与事件过程209
9.2 Function过程211
9.2.1 建立Function过程211
9.2.2 调用Function过程213
9.3 参数传送216
9.3.1 形参与实参216
9.3.2 引用218
9.3.3 传值220
9.3.4 数组参数的传送222
9.4 可选参数与可变参数229
9.4.1 可选参数229
9.4.2 可变参数230
9.5 对象参数231
9.5.1 窗体参数231
9.5.2 控件参数233
9.6 局部内存分配237
9.7 递归239
习题243
键盘与鼠标事件过程24510.1 KeyPress事件245
10.2 KeyDown和KeyUp事件248
10.3 鼠标事件255
10.3.1 鼠标位置256
10.3.2 鼠标按钮258
10.3.3 转换参数260
10.4 鼠标光标的形状263
10.4.1 MousePointer属性263
10.4.2 设置鼠标光标形状263
10.5 拖放265
10.5.1 与拖放有关的属性、事件和方法265
10.5.2 自动拖放267
10.5.3 手动拖放269
习题272
菜单程序设计27411.1 Visual Basic中的菜单274
11.2 菜单编辑器275
11.3 用菜单编辑器建立菜单278
11.3.1 界面设计278
11.3.2 编写程序代码280
11.4 菜单项的控制282
11.4.1 有效性控制282
11.4.2 菜单项标记284
11.4.3 键盘选择286
11.5 菜单项的增减287
11.6 弹出式菜单290
习题294
对话框程序设计29512.1 概述295
12.1.1 对话框的分类与特点295
12.1.2 自定义对话框296
12.1.3 通用对话框控件298
12.2 文件对话框299
12.2.1 文件对话框的结构299
12.2.2 文件对话框的属性300
12.2.3 文件对话框举例303
12.3 其他对话框305
12.3.1 颜色对话框305
12.3.2 字体对话框306
12.3.3 打印对话框308
习题311
多窗体程序设计与环境应用31313.1 建立多窗体应用程序313
13.1.1 与多窗体程序设计有关的语句和方法313
13.1.2 建立界面314
13.1.3 编写程序代码318
13.2 多窗体程序的执行与保存325
13.2.1 指定启动窗体325
13.2.2 多窗体程序的存取326
13.3 Visual Basic工程结构327
13.3.1 标准模块328
13.3.2 窗体模块328
13.3.3 Sub Main过程329
13.4 闲置循环与DoEvents语句331
13.5 系统对象334
13.5.1 App对象334
13.5.2 Screen对象335
习题336
多文档界面33814.1 MDI窗体与MDI子窗体338
14.1.1 MDI子窗体338
14.1.2 引例339
14.1.3 几点说明341
14.2 MDI特性343
14.2.1 属性、方法和事件343
14.2.2 Dim语句和WindowState属性345
14.3 建立MDI应用程序346
14.3.1 建立MDI应用程序的一般过程346
14.3.2 MDI应用程序举例348
14.4 MDI应用程序中的菜单354
14.4.1 MDI中菜单的建立354
14.4.2 MDI菜单应用程序举例355
14.5 用MDI建立工具条357
14.5.1 用MDI建立工具条的一般步骤357
14.5.2 程序举例358
习题360
文件36215.1 文件概述362
15.2 文件的打开与关闭364
15.2.1 文件的打开或建立364
15.2.2 文件的关闭366
15.3 文件操作语句和函数367
15.3.1 文件指针367
15.3.2 其他语句和函数368
15.4 顺序文件369
15.4.1 顺序文件的写操作369
15.4.2 顺序文件的读操作374
15.5 随机文件379
15.5.1 随机文件的读写操作379
15.5.2 随机文件举例380
15.6 用控件显示和修改随机文件387
15.7 二进制文件390
15.7.1 二进制存取与随机存取391
15.7.2 程序举例391
15.8 文件系统控件392
15.8.1 驱动器列表框和目录列表框393
15.8.2 文件列表框395
15.8.3 程序举例397
15.9 文件基本操作401
习题403
参考文献405