第1篇 基础篇 2
第1章 初识Visual Basic 6.0 2
1.1 VB 6.0概述 2
1.1.1 VB的发展历程 2
1.1.2 VB 6.0的特色 3
1.1.3 获得帮助 4
1.2 VB 6.0的安装、启动、退出 5
1.2.1 VB 6.0的运行环境 5
1.2.2 VB 6.0的安装 5
1.2.3 VB 6.0的启动与退出 7
1.3 小结 8
第2章 VB 6.0的集成开发环境 9
2.1 集成开发环境选项 9
2.1.1 设定开发界面 9
2.1.2 停放窗口 9
2.2 菜单栏 9
2.3 工具栏 12
2.3.1 标准工具栏 12
2.3.2 编辑工具栏 13
2.3.3 窗体编辑器工具栏 13
2.3.4 调试工具栏 13
2.4 IDE各子窗口 13
2.4.1 工程资源管理器 13
2.4.2 窗体设计器 14
2.4.3 属性窗口 14
2.4.4 代码窗口 15
2.4.5 窗体布局窗口 15
2.4.6 对象浏览窗口 15
2.4.7 工具箱 15
2.5 创建第一个工程 16
2.5.1 创建工程 16
2.5.2 创建新程序的用户界面 17
2.5.3 设置用户界面中各对象的属性 17
2.5.4 编写程序代码 18
2.5.5 运行和保存工程 18
2.6 小结 19
第3章 VB编程起步 20
3.1 程序设计的基本概念 20
3.1.1 VB中的基本关键字 20
3.1.2 标识符 20
3.2 数据类型 21
3.2.1 基本数据类型 21
3.2.2 自定义类型 23
3.2.3 枚举类型 24
3.2.4 类型转换函数 24
3.3 常量 24
3.3.1 直接常量 24
3.3.2 符号常量 25
3.4 变量 26
3.4.1 变量的概念 26
3.4.2 变量的声明 26
3.4.3 变量的命名规则 27
3.4.4 变量的作用域 27
3.4.5 强制声明变量 28
3.5 运算符和表达式 29
3.5.1 算术运算符和算术表达式 29
3.5.2 关系运算符和关系表达式 30
3.5.3 逻辑运算符和逻辑表达式 31
3.5.4 连接运算符 32
3.5.5 特殊运算符 32
3.5.6 运算符优先级和表达式的执行运算 34
3.6 小结 35
第4章 VB程序语句 36
4.1 程序基本语句 36
4.1.1 赋值语句 36
4.1.2 注释语句 36
4.1.3 长语句的分行 37
4.1.4 打印方法 38
4.1.5 加载/卸载语句 39
4.2 条件判断语句 39
4.2.1 单行结构条件语句If Then 39
4.2.2 块结构条件语句If Then Else End If 40
4.2.3 If语句的嵌套 41
4.2.4 使用IIf()函数 43
4.2.5 多分支选择条件语句Select Case 43
4.2.6 If语句使用示例——判断奇偶数 45
4.2.7 Select Case语句使用示例——计算优惠价 46
4.3 循环语句 47
4.3.1 For Next循环语句 48
4.3.2 For Each Next循环语句 49
4.3.3 While Wend循环语句 50
4.3.4 Do Loop循环语句 50
4.3.5 For Next循环语句示例——打印九九乘法表 53
4.3.6 Wile Wend循环语句示例——求1到100的和 54
4.3.7 Do Loop循环语句使用示例——判断素数 55
4.4 其他语句 56
4.4.1 跳转语句 56
4.4.2 重复执行语句 57
4.4.3 喇叭发声 57
4.4.4 退出语句 57
4.4.5 消息对话框与输入对话框 58
4.4.6 打开错误陷阱 61
4.4.7 对象赋值语句 63
4.5 小结 63
第5章 数组 64
5.1 数组和数组元素 64
5.2 静态数组 65
5.2.1 静态数组的声明 66
5.2.2 声明数组的默认下标 66
5.2.3 数组的初始化 67
5.2.4 数组的基本操作 68
5.2.5 多维数组 68
5.2.6 示例——利用静态数组求出一组数中的最大值、最小值、平均值 69
5.3 动态数组 70
5.3.1 创建动态数组 70
5.3.2 保留动态数组的原有数据 72
5.3.3 释放动态数组所占用的空间 72
5.3.4 得到数组上下界 73
5.3.5 示例——使用动态数组来计算一组输入数值的最大值、最小值 73
5.4 控件数组 75
5.4.1 创建控件数组概念 75
5.4.2 控件数组建立 76
5.4.3 示例——控件数组 77
5.5 小结 78
第6章 过程与函数 79
6.1 Sub过程 79
6.1.1 Sub过程的类型 79
6.1.2 Sub过程的创建 80
6.1.3 Sub过程的调用 82
6.1.4 示例——使用自定义过程计算一组数值的和 82
6.2 函数过程 83
6.2.1 定义函数 84
6.2.2 调用函数 85
6.2.3 示例——使用自定义函数计算一组数值的和 85
6.2.4 Sub过程和Function函数的区别和联系 87
6.3 参数传递 87
6.3.1 形式参数与实际参数 87
6.3.2 按值传递与按地址传递 88
6.3.3 示例——使用参数按值传递与按地址传递 88
6.3.4 示例——使用数组作为参数 89
6.4 常用内部函数 91
6.4.1 字符串函数 91
6.4.2 日期和时间函数 92
6.4.3 数学运算函数 92
6.4.4 格式输出函数 93
6.4.5 随机数函数和语句 94
6.4.6 Shell()函数 94
6.5 小结 95
第2篇 界面开发篇 98
第7章 窗体 98
7.1 窗体概述 98
7.1.1 窗体的基本元素 99
7.1.2 窗体类型 99
7.2 窗体常用属性 100
7.2.1 如何设置窗体的标题 100
7.2.2 如何设置窗体的风格 100
7.2.3 如何改变窗体的样式 101
7.2.4 设置最大化/最小化按钮是否可用 101
7.2.5 设置窗体是否可见 102
7.2.6 如何设置窗体的图标 102
7.2.7 如何设置窗体的背景图片 103
7.2.8 如何设置窗体的可视状态 103
7.2.9 示例——设计系统登录界面 103
7.3 窗体的常用方法 105
7.3.1 显示与隐藏窗体 105
7.3.2 移动窗体 106
7.3.3 打印窗体 106
7.4 窗体常用事件 107
7.4.1 单击事件——Click事件 107
7.4.2 双击事件——DblClick事件 107
7.4.3 窗体初始化事件——Initialize事件 107
7.4.4 窗体加载与卸载事件——Load/Unload/QueryUnload事件 107
7.4.5 窗体重绘事件——Paint/Resize事件 109
7.4.6 键盘相关——KeyDown/KeyUP/KeyPress事件 109
7.4.7 鼠标相关——MouseDown/MouseMove/MouseUp事件 112
7.5 MDI窗体 113
7.5.1 MDI主窗体和子窗体 114
7.5.2 MDI窗体基本特征 115
7.5.3 操作子窗体 115
7.6 示例——窗体的综合使用 116
7.7 小结 120
第8章 控件的属性、方法、事件 121
8.1 控件作用及分类 121
8.1.1 控件概述 121
8.1.2 控件的作用 121
8.1.3 控件的分类 122
8.2 控件的相关操作 123
8.2.1 向窗体上添加、删除控件 123
8.2.2 对齐控件 123
8.2.3 调整窗体上控件的次序 124
8.2.4 锁定窗体上的控件 124
8.2.5 注册、反注册ActiveX控件 124
8.2.6 添加ActiveX控件 125
8.3 属性、方法、事件概述 125
8.4 事件驱动机制 127
8.4.1 什么是事件驱动 127
8.4.2 在控件中使用事件驱动 128
8.4.3 事件发生的先后次序 128
8.5 控件通用属性 129
8.5.1 名称属性 130
8.5.2 标题属性和文本属性 131
8.5.3 是否可用与是否可视属性 132
8.5.4 控件位置设置 133
8.6 控件通用方法 134
8.6.1 对象移动方法 134
8.6.2 设置焦点方法 135
8.6.3 拖动方法 135
8.7 控件通用事件 136
8.7.1 单击事件——Click事件 136
8.7.2 双击事件——DblClick事件 137
8.7.3 获得焦点事件——GotFocus事件 138
8.7.4 失去焦点事件——LostFocus事件 138
8.8 示例——设置文本框中文本样式 139
8.9 小结 142
第9章 按钮/文本类控件 143
9.1 标签控件 143
9.1.1 标签控件概述 143
9.1.2 标签控件的属性 143
9.1.3 示例——使用标签控件显示文本信息 144
9.2 命令按钮控件 144
9.2.1 命令按钮控件概述 145
9.2.2 命令按钮控件的基本属性 145
9.2.3 命令按钮控件的基本方法 145
9.2.4 命令按钮控件的基本事件 146
9.2.5 设置按钮为默认命令按钮 146
9.2.6 设置按钮为默认取消按钮 147
9.2.7 设置按钮是否可用 147
9.2.8 设置按钮的鼠标指针 148
9.2.9 设置按钮的图片 148
9.2.10 设置按钮的显示类型 149
9.2.11 示例——设计简单的计算器 149
9.3 文本框控件 151
9.3.1 文本框控件概述 152
9.3.2 文本框控件的基本属性 152
9.3.3 文本框控件的基本方法 153
9.3.4 文本框控件的基本事件 154
9.3.5 设置文本框边框的样式和颜色 154
9.3.6 设置文本框的背景色和前景色 155
9.3.7 设置文本框的对齐方式 156
9.3.8 设置文本框的密码占位符 156
9.3.9 设置文本框的最大文本长度 157
9.3.10 设置文本框为多行显示 157
9.3.11 设置文本框的滚动条 157
9.3.12 锁定文本框 158
9.3.13 设置文本框的输入法 158
9.3.14 示例——设计简单的文本编辑器 159
9.4 富文本框控件 164
9.4.1 富文本框控件概述 164
9.4.2 富文本框控件的基本属性 165
9.4.3 富文本框控件的基本方法 167
9.4.4 富文本框控件的基本事件 167
9.4.5 设置滚动条有效/无效 168
9.4.6 设置段落的对齐方式 169
9.4.7 如何取得指定字符所在的行号 169
9.4.8 如何实现载入文本、保存文本、打印文本 169
9.4.9 示例——仿Windows自带的记事本 171
9.5 小结 176
第10章 选择类/框架类控件 177
10.1 单选按钮控件 177
10.1.1 单选按钮控件概述 177
10.1.2 单选按钮控件的基本属性 177
10.1.3 单选按钮控件的基本方法 179
10.1.4 单选按钮控件的基本事件 179
10.1.5 设置控件的样式 180
10.1.6 设置控件的选择状态 180
10.1.7 示例——使用单选按钮控件设置文本框的字体 180
10.2 复选框控件 181
10.2.1 复选框控件的基本属性 181
10.2.2 复选框控件的基本方法 183
10.2.3 复选框控件的基本事件 183
10.2.4 设计控件文本的对齐方式 184
10.2.5 设置控件的样式 184
10.2.6 设置控件的状态 184
10.2.7 示例——使用复选框控件设置文本框文件的样式 185
10.3 标准框架控件 186
10.3.1 标准框架控件概述 186
10.3.2 标准框架控件的基本属性 186
10.3.3 标准框架控件的基本方法 187
10.3.4 标准框架控件的基本属性 187
10.3.5 设置控件的边框样式 188
10.4 选项卡控件 188
10.4.1 选项卡控件概述 189
10.4.2 选项卡控件的基本属性 189
10.4.3 选项卡控件的基本方法 190
10.4.4 选项卡控件的基本事件 191
10.4.5 设置选项卡的外观样式 192
10.4.6 设置选项卡显示的位置 192
10.4.7 返回选项卡的行数 193
10.4.8 设置选项卡的页数 193
10.4.9 设置当前选项卡 193
10.4.10 设置选项卡的标题 193
10.4.11 设置选项卡的最大宽度、高度 194
10.4.12 禁用选项卡 194
10.4.13 设置选项卡是否可见 195
10.4.14 示例——使用选项卡模拟设置字体的属性 195
10.5 小结 196
第11章 日期时间类/通用对话框控件 197
11.1 定时控件 197
11.1.1 定时控件概述 197
11.1.2 设置定时控件的时间间隔 198
11.1.3 示例——使用定时控件设计数字时钟 198
11.2 日期时间控件 199
11.2.1 日期时间控件概述 199
11.2.2 日期时间控件的基本属性 200
11.2.3 日期时间控件的基本方法 201
11.2.4 日期时间控件的基本事件 202
11.2.5 设置值为当前系统的日期时间 203
11.2.6 设置弹出日历前景色和背景色 203
11.2.7 设置控件的样式 204
11.3 日历控件 204
11.3.1 日历控件概述 204
11.3.2 日历控件的基本属性 204
11.3.3 日历控件的基本方法 206
11.3.4 日历控件的基本事件 206
11.3.5 取得当前的日期 207
11.3.6 显示当前日期和星期数 208
11.3.7 如何显示多个月份数 208
11.3.8 返回日期的年、月、日、星期信息 208
11.3.9 日历控件的键盘快捷键 209
11.3.10 示例——使用MonthView控件设计制作备忘录 209
11.4 通用对话框控件 211
11.4.1 通用对话框控件概述 211
11.4.2 通用对话框控件的基本属性 211
11.4.3 通用对话框控件的基本方法 213
11.4.4 对话框标题的设置 213
11.4.5 取得所选择的文件名 213
11.4.6 取得所选择的颜色值 214
11.4.7 设置文件默认的扩展名 214
11.4.8 设置打开文件的类型 215
11.4.9 对话框选项 215
11.4.10 示例——通用对话框的典型使用 218
11.5 小结 219
第12章 列表/视图类控件 221
12.1 标准列表框控件 221
12.1.1 标准列表框控件概述 221
12.1.2 标准列表框控件的基本属性 221
12.1.3 标准列表框控件的基本方法 223
12.1.4 标准列表框控件的基本事件 223
12.1.5 设置控件的滚动方式 224
12.1.6 设置控件的样式 225
12.1.7 设置项目列表的索引 225
12.1.8 设置是否可多选项目 225
12.1.9 如何取得选中项目的总数 226
12.1.10 如何取得项目列表的总数 226
12.1.11 如何实现对列表中的项目排序 226
12.1.12 如何清除项目列表 227
12.1.13 如何实现对项目增加 227
12.1.14 如何实现对项目移出 227
12.1.15 如何取得当前项目的文本 228
12.1.16 示例——标准列表框典型应用 228
12.2 标准组合框控件 229
12.2.1 标准组合框控件概述 229
12.2.2 设置控件的样式 232
12.2.3 设置项目列表 232
12.2.4 如何取得项目列表的总数 233
12.2.5 如何取得当前项目的索引 233
12.2.6 如何实现对列表中的项目排序 233
12.2.7 如何清除项目列表 234
12.2.8 如何实现对项目增加 234
12.2.9 如何实现对项目移出 234
12.2.10 如何取得当前项目的文本 235
12.2.11 示例——组合列表框典型应用 235
12.3 列表视图控件 236
12.3.1 列表视图控件概述 236
12.3.2 列表视图控件的基本属性 236
12.3.3 列表视图控件的基本方法 238
12.3.4 列表视图控件的基本事件 238
12.3.5 如何设置列表的列表头 239
12.3.6 如何隐藏列表头 240
12.3.7 设置列表显示的方式 241
12.3.8 设置在列表中是否显示网格线 241
12.3.9 设置是否可以选择多行 241
12.3.10 设置在项目前是否显示复选框 242
12.3.11 如何对列表中的项目排序 242
12.3.12 设置列表中项目排序的方式 242
12.3.13 设置列表中的项目如何排序 243
12.3.14 如何清除项目列表 243
12.3.15 如何实现对项目增加 244
12.3.16 如何实现对项目移出 244
12.3.17 如何取得当前选中项目 245
12.3.18 设置是否可以选择整行 245
12.3.19 示例——使用ListView编辑学生成绩 245
12.4 树状视图控件 248
12.4.1 树状视图控件概述 248
12.4.2 树状视图控件的基本属性 248
12.4.3 树状视图控件的基本方法 249
12.4.4 树状视图控件的基本事件 250
12.4.5 设置树状视图的外观 251
12.4.6 设置树状视图的图形样式 251
12.4.7 设置树状视图的线条样式 252
12.4.8 设置节点前是否显示复选框 252
12.4.9 添加节点 252
12.4.10 移出节点 253
12.4.11 展开/折叠节点 254
12.4.12 设置是否可以编辑选中的节点 254
12.4.13 设置节点是否带下划线 254
12.4.14 如何取得选中的节点 255
12.4.15 示例——列表视图典型应用显示省市名称 255
12.5 小结 258
第13章 菜单、工具栏与状态栏设计 259
13.1 菜单设计 259
13.1.1 菜单的基本概念 259
13.1.2 菜单编辑器 259
13.1.3 设置菜单的访问键和快捷键 261
13.1.4 设计下拉式菜单 262
13.1.5 设计下拉式子菜单 263
13.1.6 使用菜单数组 264
13.2 弹出式菜单 266
13.2.1 弹出式菜单概念 266
13.2.2 设计弹出式菜单 266
13.2.3 弹出式菜单的调用 267
13.2.4 示例——设计弹出式菜单 268
13.3 菜单编程 269
13.3.1 菜单编程初步 269
13.3.2 运行时改变菜单状态 269
13.4 工具栏控件 270
13.4.1 工具栏概述 270
13.4.2 工具栏控件的基本属性 270
13.4.3 工具栏控件的基本方法 272
13.4.4 工具栏控件的事件 272
13.4.5 设置工具栏的样式 273
13.4.6 设置按钮的大小 273
13.4.7 设置按钮的图标 274
13.4.8 示例——在窗体上设计一个工具栏 274
13.5 状态栏控件 275
13.5.1 状态栏概述 275
13.5.2 状态栏控件的基本属性 276
13.5.3 状态栏控件的基本方法 276
13.5.4 状态栏控件的基本事件 277
13.5.5 设置状态条的样式 277
13.5.6 设置显示文本 278
13.5.7 示例——在窗体底部设计一个状态栏 278
13.6 小结 279
第3篇 应用开发篇 282
第14章 文件处理技术 282
14.1 文件 282
14.1.1 文件概述 282
14.1.2 文件的分类 282
14.1.3 文件的结构 283
14.2 文件的公共访问方法 284
14.2.1 文件号 284
14.2.2 文件的打开 285
14.2.3 文件访问方式 286
14.2.4 文件的定位 287
14.2.5 文件的锁定 290
14.2.6 文件的关闭 291
14.3 顺序文件的操作 292
14.3.1 顺序文件的打开 292
14.3.2 顺序文件的读操作 293
14.3.3 顺序文件的写操作 294
14.4 随机文件的访问 297
14.4.1 随机文件的的打开与关闭 297
14.4.2 随机文件的读写操作 297
14.5 二进制文件的访问 298
14.5.1 二进制文件的打开与关闭 299
14.5.2 二进制文件的读写操作 299
14.6 目录与文件操作 299
14.6.1 有关目录和驱动器的操作 299
14.6.2 有关文件的操作 303
14.7 驱动器列表控件 306
14.7.1 驱动器列表控件的基本属性 306
14.7.2 驱动器列表控件的基本方法 308
14.7.3 驱动器列表控件的基本事件 308
14.8 目录列表控件 309
14.8.1 目录列表控件的基本属性 309
14.8.2 目录列表控件的基本方法 311
14.8.3 目录列表控件的基本事件 311
14.9 文件列表控件 312
14.9.1 文件列表控件的基本属性 312
14.9.2 文件列表控件的基本方法 315
14.9.3 文件列表控件的基本事件 315
14.9.4 示例——简易文件浏览器 316
14.10 小结 317
第15章 图形操作 318
15.1 图形操作基础 318
15.2 绘图属性 320
15.2.1 显示处理 320
15.2.2 绘图技术 321
15.2.3 填充技术 324
15.2.4 颜色 326
15.3 图形控件 327
15.3.1 形状控件 327
15.3.2 线条控件 328
15.4 绘图方法 329
15.4.1 画点方法——PSet方法 329
15.4.2 画线方法——Line方法 330
15.4.3 画圆方法——Circle方法 331
15.4.4 绘制图像——PaintPicture方法 332
15.4.5 取得指定点的颜色——Point方法 333
15.4.6 清屏方法——Cls方法 334
15.5 示例——设计制作颜色值提取器 334
15.6 小结 335
第16章 图像技术应用 336
16.1 图形和图像之间的区别与联系 336
16.2 图片框控件 336
16.2.1 图片框控件的基本属性 337
16.2.2 图片框控件的基本方法 341
16.2.3 图片框控件的基本事件 342
16.2.4 示例——在图片框控件内建立坐标并画点 343
16.3 图片控件 345
16.3.1 图片控件的基本属性 345
16.3.2 图片控件的基本方法 347
16.3.3 图片控件的基本事件 347
16.4 图像列表控件 347
16.4.1 图像列表控件的基本属性 348
16.4.2 图像列表控件的基本方法 350
16.4.3 示例——使用图像列表控件合并图像 350
16.5 图片的保存与读取 351
16.5.1 图片的格式 352
16.5.2 加载图片——LoadPicture()函数 352
16.5.3 保存图片——SavePicture()函数 353
16.6 图片的相关操作 354
16.6.1 示例——图片格式间的转换 354
16.6.2 示例——图片的旋转 356
16.6.3 示例——实现图片的平铺 358
16.7 小结 359
第17章 多媒体技术 360
17.1 多媒体概述及其元素 360
17.2 音频/视频处理 360
17.2.1 多媒体控件概述 361
17.2.2 多媒体控件的基本属性 361
17.2.3 多媒体控件的基本方法 366
17.2.4 多媒体控件的基本事件 367
17.2.5 示例——播放音乐文件 367
17.2.6 示例——播放视频文件 371
17.3 动画处理 373
17.3.1 动画控件概述 374
17.3.2 动画控件的基本属性 374
17.3.3 动画控件的基本方法 375
17.3.4 动画控件的基本事件 377
17.3.5 示例——播放AVI动画 378
17.3.6 示例——播放Flash文件 379
17.4 API函数在多媒体中的应用 381
17.4.1 使用sndPlaySound()函数播放音频文件 381
17.4.2 用API函数控制声卡音量大小 384
17.5 小结 385
第18章 网络编程技术 386
18.1 网络协议 386
18.1.1 UDP协议 386
18.1.2 TCP协议 387
18.1.3 IP协议 387
18.2 网络控件 388
18.2.1 网络控件概述 388
18.2.2 取得本机的名称、IP地址、端口号 389
18.2.3 设置通信协议 390
18.2.4 设置远程计算机 390
18.2.5 获得控件的当前状态 391
18.2.6 接收新连接 391
18.2.7 指定本机的IP地址和端口号 391
18.2.8 关闭连接 392
18.2.9 获得远程数据 392
18.2.10 打开侦听 393
18.2.11 发送数据 393
18.2.12 关闭/打开连接事件 393
18.2.13 连接请求事件 393
18.2.14 接收到新数据 394
18.2.15 发送数据事件 394
18.3 网络控件典型应用 394
18.3.1 设计点对点的聊天器 394
18.3.2 用Winsock控件实现局域网内文件传输 397
18.3.3 使用Winsock对计算机端口扫描 402
18.4 小结 404
第19章 Internet编程技术 405
19.1 网络层次模型 405
19.2 应用层的相关协议 407
19.2.1 HTTP协议 407
19.2.2 FTP协议 408
19.3 浏览器控件 409
19.3.1 浏览器控件概述 409
19.3.2 浏览器控件的属性、方法、事件 409
19.3.3 示例——制作简单的浏览器 411
19.3.4 示例——自动登录网站 414
19.4 Internet传输控件 416
19.4.1 Internet控件概述 416
19.4.2 设置访问Ineternet的类型 417
19.4.3 设置文档 418
19.4.4 设置通信协议 418
19.4.5 设置访问Internet的URL地址 418
19.4.6 指定远程访问的主机和端口 419
19.4.7 设置访问的用户名和密码 419
19.4.8 执行请求 420
19.4.9 检索数据 420
19.4.10 打开URL地址 421
19.4.11 状态改变事件 421
19.5 小结 422
第20章 数据通信技术 423
20.1 串口、并口概述 423
20.1.1 串口 423
20.1.2 并口 424
20.2 串口通信控件 424
20.2.1 串口通信控件概述 424
20.2.2 设置通信端口 426
20.2.3 设置接收数据的缓冲区 426
20.2.4 如何取回缓冲区中的数据 427
20.2.5 传输缓冲区的数据 427
20.2.6 传输数据 428
20.2.7 取得通信端口的状态 428
20.2.8 设置通信参数 428
20.2.9 中断连接 428
20.2.10 通信事件或错误 429
20.2.11 示例——向通信端口发送数据 430
20.2.12 示例——测试Modem状态 431
20.3 小结 432
第21章 WIn32 API 434
21.1 Windows API概述 434
21.1.1 什么是API 434
21.1.2 静态链接 435
21.1.3 动态链接 435
21.1.4 主要的动态链接库及功能 435
21.2 API相关概念 436
21.2.1 什么是句柄 436
21.2.2 窗口句柄 437
21.2.3 数据类型 437
21.3 Windows消息机制 438
21.3.1 什么是消息 438
21.3.2 Visual Basic事件与Windows消息 439
21.3.3 Windows消息应用 440
21.4 Visual Basic与API 440
21.4.1 使用API 441
21.4.2 在Visual Basic中API的声明 442
21.4.3 调用API函数 446
21.5 API应用示例 449
21.5.1 拖动无边框的窗体 449
21.5.2 实现窗体半透明 450
21.5.3 使窗体关闭按钮失效 452
21.5.4 取得系统文件的目录 453
21.5.5 让窗体始终位于最前面 453
21.6 小结 455
第22章 注册表操作 456
22.1 认识注册表 456
22.1.1 什么是注册表 456
22.1.2 注册表的结构 457
22.2 利用VB函数访问注册表 458
22.2.1 返回注册表项设置值——GetSetting()函数 458
22.2.2 返回注册表项设置及其相应值——GetAllSettings()函数 459
22.2.3 保存或建立应用程序项目——SaveSetting()函数 459
22.2.4 删除区域或注册表项设置——DeleteSetting()函数 460
22.2.5 示例——关闭窗体时将窗体的大小和位置保存到注册表中 460
22.3 利用API函数访问注册表 461
22.3.1 打开/创建注册表项 461
22.3.2 删除注册表中的项 463
22.3.3 设置和删除注册表项的值 463
22.3.4 读取注册表中的默认值 464
22.3.5 关闭注册表项 465
22.3.6 示例——使用API函数操作注册表 465
22.4 注册表相关技术典型应用 468
22.4.1 将应用软件的试用次数写入注册表 468
22.4.2 文件关联 470
22.4.3 程序随着Windows启动 471
22.5 小结 472
第4篇 数据库开发篇 476
第23章 SQL在VB中的应用 476
23.1 SQL Server 2000的安装 476
23.2 数据操作语句 479
23.2.1 数据添加 479
23.2.2 数据删除 481
23.2.3 数据更新 481
23.3 SELECT查询语句 482
23.3.1 SELECT语句的基本语法 482
23.3.2 SELECT语句的完整语法 483
23.3.3 常用运算符和关键字 483
23.4 SELECT语句示例 484
23.4.1 取得所有列 484
23.4.2 取得部分列 484
23.4.3 使用列别名 484
23.4.4 利用Top关键字返回指定行数的数据记录 485
23.4.5 利用DISTINCT关键字去掉重复的数据记录 485
23.4.6 多表进行联合查询 485
23.4.7 对某一区间的数据查询 485
23.4.8 对查询结果进行分组统计 486
23.4.9 求最大值与最小值 486
23.4.10 对查询结果进行排序 486
23.4.11 将查询结果添加到数据表中 487
23.5 数据库维护 487
23.5.1 创建数据库 487
23.5.2 修改数据库 491
23.5.3 删除数据库 493
23.5.4 创建数据表 493
23.5.5 修改数据表 495
23.5.6 删除数据表 495
23.5.7 数据库备份与恢复 496
23.6 小结 497
第24章 数据连接类控件 499
24.1 数据连接控件 499
24.1.1 数据连接控件概述 499
24.1.2 设置连接的数据库类型 502
24.1.3 设置数据连接控件的数据源 502
24.1.4 设置数据源的类型 502
24.1.5 设置数据连接控件的数据表 503
24.1.6 设置数据库打开的方式 503
24.1.7 设置数据连接控件的记录集类型 504
24.1.8 控件返回的记录集 504
24.1.9 示例——制作员工通讯录 505
24.2 远程连接控件 507
24.2.1 远程连接控件概述 507
24.2.2 远程连接控件的基本属性 508
24.2.3 远程连接控件的基本方法 510
24.2.4 远程连接控件的基本事件 510
24.2.5 设置数据连接 511
24.2.6 设置连接的用户名与密码 511
24.2.7 设置并发处理类型 512
24.2.8 设置等待超时时间和查询超时时间 512
24.2.9 设置查询语句 513
24.2.10 结果记录集 513
24.2.11 返回记录的最大行数 514
24.2.12 是否异步执行 514
24.3 ADO控件 514
24.3.1 ADO控件概述 514
24.3.2 ADO控件的基本属性 515
24.3.3 ADO控件的基本方法 516
24.3.4 ADO控件的基本事件 516
24.3.5 设置连接数据源 517
24.3.6 设置连接超时时间 518
24.3.7 设置命令超时时间 518
24.3.8 设置记录集的记录源 518
24.3.9 如何得到记录集 519
24.3.10 设置记录集的首尾 519
24.3.11 设置命令对象类型 520
24.3.12 示例——简易学生成绩管理器 520
24.4 小结 525
第25章 数据访问对象 526
25.1 数据访问概述 526
25.1.1 数据访问方法 526
25.1.2 数据访问方法的比较 527
25.2 ADO对象模型 528
25.2.1 ADO对象模型概述 528
25.2.2 ADO对象模型中的对象 528
25.2.3 数据连接对象 529
25.2.4 数据命令对象 536
25.2.5 记录集对象 540
25.2.6 示例——使用ADO对象模型操作学生信息 551
25.3 数据环境设计器 557
25.3.1 数据环境设计器概述 557
25.3.2 数据连接对象 558
25.3.3 数据命令对象 559
25.3.4 使用数据环境设计器 560
25.4 小结 562
第26章 数据控件编程 563
26.1 数据组合框控件 563
26.1.1 数据组合框控件概述 563
26.1.2 数据组合框控件的基本属性 563
26.1.3 数据组合框控件的基本方法 565
26.1.4 数据组合框控件的基本事件 565
26.1.5 示例——使用DataCombo控件绑定数据 566
26.2 数据列表框控件 568
26.2.1 数据列表框控件概述 568
26.2.2 数据列表框控件的基本属性 568
26.2.3 数据列表框控件的基本方法 569
26.2.4 数据列表框控件的基本事件 570
26.2.5 设置控件绑定的字段 571
26.2.6 返回绑定字段的值 571
26.2.7 设置控件是否显示全部项目 571
26.2.8 返回控件中可见项目数 572
26.2.9 示例——通过DataCombo控件和DataList控件显示主明细数据 572
26.3 数据网格控件 574
26.3.1 数据网格控件概述 574
26.3.2 数据网格控件的基本属性 575
26.3.3 数据网格控件的基本方法 577
26.3.4 数据网格控件的基本事件 578
26.3.5 是否允许添加记录 579
26.3.6 得到添加记录模式 579
26.3.7 是否允许方向键定位 580
26.3.8 是否允许删除记录 580
26.3.9 是否允许改变行大小 581
26.3.10 是否允许修改数据 581
26.3.11 确定当前活动单元 581
26.3.12 是否显示列标头 582
26.3.13 第一行是否可见 582
26.3.14 设置最左可见列数 582
26.3.15 设置行高 582
26.3.16 设置选中的行列 583
26.3.17 示例——通过DataGrid控件对数据操作 583
26.4 可伸缩的数据表格控件 585
26.4.1 可伸缩的数据表格控件概述 585
26.4.2 可伸缩的数据表格控件的基本属性 585
26.4.3 可伸缩的数据表格控件的基本方法 589
26.4.4 可伸缩的数据表格控件的基本事件 589
26.4.5 是否允许大规模选择 590
26.4.6 是否允许行列调整大小 590
26.4.7 设置单元格的文本样式 591
26.4.8 设置当前单元格 591
26.4.9 设置控件的总列/行数 592
26.4.10 设置控件的固定列/行数 592
26.4.11 合并单元格 592
26.4.12 设置控件的选择方式 593
26.4.13 设置排序方式 594
26.4.14 得到单元格文本数组 594
26.4.15 设置/获得单元格的文本 595
26.4.16 向控件中添加行 595
26.4.17 清除控件中所有内容 595
26.4.18 移出控件中的行 596
26.4.19 示例——使用可伸缩的数据表格控件对数据进行排序和合并 596
26.5 分层次可伸缩的数据表格控件 597
26.5.1 分层次可伸缩的数据表格控件概述 597
26.5.2 分层次可伸缩的数据表格控件的基本属性 597
26.5.3 分层次可伸缩的数据表格控件的基本方法 601
26.5.4 分层次可伸缩的数据表格控件的基本事件 602
26.5.5 设置控件的带区显示 603
26.5.6 展开控件的带区 603
26.5.7 设置活动单元格的类型 604
26.5.8 展开/折叠指定的带区 604
26.6 小结 605
第27章 数据图表/报表技术 606
27.1 图表技术 606
27.1.1 图表控件概述 606
27.1.2 图表控件的基本属性 606
27.1.3 图表控件的基本方法 615
27.1.4 图表控件的基本事件 616
27.1.5 示例——使用图表控件来两个年度的销售额 618
27.2 数据报表 622
27.2.1 初识数据报表设计器 622
27.2.2 数据报表设计器的对象 623
27.2.3 数据报表对象的属性和方法 623
27.3 数据报表的应用 625
27.4 从应用程序中打印 628
27.4.1 使用PrintForm方法打印 628
27.4.2 Printer对象的主要属性 629
27.4.3 Printer对象的主要方法 633
27.4.4 示例——设置当前系统的默认打印机 634
27.4.5 示例——利用Excel打印报表 636
27.4.6 示例——通过Word打印报表 639
27.5 小结 641
第28章 典型数据处理技术 643
28.1 使用数据绑定来增加、修改、删除数据记录 643
28.2 使用非绑定数据控件操作数据记录 646
28.3 保存数据是验证数据的合法性 652
28.4 格式化数据 655
28.5 在SQL查询语句中使用通配符 657
28.6 金额大小写转换 661
28.7 取得汉字的拼音简码 664
28.8 将图片存入数据库 667
28.9 通过MSFlexGrid实现批量录入数据 671
28.10 通过TreeView浏览商品信息 676
28.11 小结 679
第29章 典型窗体开发设计 680
29.1 登录窗体设计 680
29.2 主窗体的设计 685
29.3 数据录入窗体设计 687
29.4 数据查询统计窗体设计 693
29.5 数据库初始化窗体设计 700
29.6 数据库备份与恢复窗体设计 703
29.7 小结 707
第5篇 项目实战篇 710
第30章 综合实例——企事业人事管理系统 710
30.1 系统概述 710
30.1.1 系统应用背景与功能 710
30.1.2 系统预览 711
30.1.3 系统特点 712
30.2 系统设计 713
30.2.1 系统设计思想 713
30.2.2 系统功能模块划分 714
30.3 数据库设计 714
30.3.1 数据库需求分析 715
30.3.2 数据库概念结构设计 715
30.3.3 数据库逻辑结构设计 716
30.3.4 数据库的生成和配置 718
30.4 编写类文件/公共模块 719
30.4.1 数据访问类 719
30.4.2 操作INI文件类 721
30.4.3 公共模块 723
30.5 窗体模块的设计与实现 728
30.5.1 主界面的设计与实现 728
30.5.2 基本信息录入窗体的设计与实现 734
30.5.3 部门资料管理窗体的设计与实现 739
30.5.4 员工资料管理窗体的设计与实现 742
30.5.5 员工资料录入、修改窗体的设计与实现 750
30.5.6 员工奖惩信息管理窗体的设计与实现 755
30.5.7 员工奖惩信息录入、编辑窗体的设计与实现 762
30.6 数据统计与分析 766
30.6.1 人事信息统计窗体的设计与实现 766
30.6.2 人员综合信息统计窗体的设计与实现 772
30.7 小结 778
第31章 应用程序打包与发布 779
31.1 优化应用程序 779
31.1.1 优化的目标 779
31.1.2 优化需要考虑的问题 780
31.1.3 编译型和解释型应用程序的比较 781
31.1.4 设置“优化”选项 781
31.2 优化速度 783
31.2.1 优化真实速度 784
31.2.2 优化显示速度 786
31.2.3 优化感觉速度 788
31.3 优化大小 789
31.3.1 减小代码大小 789
31.3.2 修剪图形 792
31.3.3 分段应用程序 793
31.3.4 优化对象 795
31.4 发布应用程序 797
31.4.1 启动打包和展开打包 797
31.4.2 打包和展开向导的功能 799
31.5 应用程序打包 800
31.5.1 打包的步骤 801
31.5.2 打包的功能 801
31.5.3 创建标准软件包 802
31.5.4 Internet软件包 803
31.5.5 创建从属文件 805
31.6 展开应用程序 806
31.6.1 展开的步骤 806
31.6.2 展开应用程序 807
31.6.3 管理向导脚本 807
31.7 发布一个应用程序 808
31.7.1 打包应用程序 808
31.7.2 展开应用程序 813
31.7.3 管理脚本 814
31.8 小结 815