第1篇 Visual Basic基础篇
第1章 认识Visual Basic 2
1.1 Visual Basic概述 3
1.1.1 Visual Basic的发展历程 3
1.1.2 Visual Basic 6.0版本介绍 3
1.2 Visual Basic 6.0安装 4
1.2.1 硬件要求 4
1.2.2 软件要求 4
1.2.3 Visual Basic 6.0企业版+SP6的安装与卸载 4
1.3 Visual Basic 6.0启动 5
1.4 Visual Basic 6.0集成开发环境 6
1.4.1 集成开发环境概述 6
1.4.2 开发环境的组成 7
1.4.3 定制自己的开发环境 13
1.5 Visual Basic 6.0的帮助系统 14
1.5.1 MSDN Library的使用 15
1.5.2 上下文帮助 15
1.5.3 自定义MSDN Library 16
1.5.4 微软网上编程资源 17
1.6 MSDN Library提供的开发资源 17
1.6.1 利用附带的实例源程序学习编程 17
1.6.2 学习可视化数据管理器的源程序 18
1.7 Visual Basic应用程序的基本设计步骤 19
1.7.1 创建工程 19
1.7.2 创建窗体 20
1.7.3 设计程序界面 20
1.7.4 编写代码 20
1.7.5 程序运行 20
1.7.6 保存工程 21
1.7.7 生成可执行文件 21
第2章 Visual Basic语言基础 22
2.1 程序设计的基本概念 23
2.1.1 关键字 23
2.1.2 标识符 23
2.1.3 ASCII字符集 23
2.2 数据类型 23
2.2.1 基本数据类型 23
2.2.2 枚举型数据类型 24
2.2.3 自定义数据类型 25
2.3 声明和使用常量 26
2.3.1 局部常量的声明 26
2.3.2 局部常量的使用 26
2.3.3 模块级常量的声明 27
2.3.4 模块级常量的使用 27
2.3.5 公用常量的声明 27
2.3.6 公用常量的使用 27
2.4 声明和使用变量 28
2.4.1 变量的声明方式 28
2.4.2 局部变量的声明 28
2.4.3 局部变量的使用 29
2.4.4 模块级变量的声明 29
2.4.5 模块级变量的使用 29
2.4.6 公用变量的声明 30
2.4.7 公用变量的使用 30
2.4.8 Option Explicit语句 31
2.5 Visual Basic中的运算符 31
2.5.1 赋值运算符 31
2.5.2 Like运算符 32
2.5.3 算数运算符 32
2.5.4 关系运算符 33
2.5.5 逻辑运算符 33
2.5.6 字符串运算符 34
2.6 Visual Basic中的表达式 35
2.6.1 表达式的组成 35
2.6.2 表达式的书写规则 35
2.6.3 运算符在表达式中的优先级 35
2.7 程序编写规范 36
2.7.1 代码书写规则 36
2.7.2 对象、常量、变量及过程的命名约定与规范 38
2.7.3 #注释编码的标准化格式 39
2.7.4 空格、格式化及缩排的准则 40
2.8 程序优化 40
2.8.1 代码优化 40
2.8.2 对象优化 41
第3章 控制结构 42
3.1 顺序结构 43
3.1.1 赋值语句 43
3.1.2 数据的输入 43
3.1.3 数据的输出 44
3.2 选择结构 45
3.2.1 If...Then语句 45
3.2.2 If...Then...Else语句 45
3.2.3 If...Then...ElseIf语句 46
3.2.4 IIf函数 47
3.2.5 If语句的嵌套 48
3.3 多分支选择结构 49
3.3.1 Select Case语句 49
3.3.2 Is、To等关键字在Select Case语句中的使用 49
3.3.3 Select Case语句的典型应用 50
3.4 循环结构 51
3.4.1 While...Wend语句 51
3.4.2 For...Next语句 52
3.4.3 For Each...Next语句 52
3.4.4 循环嵌套 53
3.4.5 选择结构与循环结构的嵌套 53
3.5 Do...Loop循环结构 54
3.5.1 While当型循环语句 55
3.5.2 Until直到型循环语句 55
3.5.3 Exit Do型循环语句 55
3.6 其他控制语句 56
3.6.1 GoTo语句 56
3.6.2 Exit语句 57
3.6.3 End语句 57
3.6.4 With语句 58
第4章 数组 60
4.1 数组的概念 61
4.2 静态数组与动态数组 61
4.2.1 静态数组的声明 61
4.2.2 静态数组的使用 62
4.2.3 动态数组的声明 62
4.2.4 动态数组的使用 62
4.3 一维数组 63
4.3.1 一维数组的声明 63
4.3.2 一维数组的使用 63
4.4 二维数组及多维数组 64
4.4.1 二维数组的声明 64
4.4.2 二维数组的使用 64
4.4.3 多维数组的声明 65
4.4.4 多维数组的使用 65
4.5 数组的基本操作 65
4.5.1 数组的输入 65
4.5.2 数组的输出 66
4.5.3 数组的插入 66
4.5.4 数组的删除 66
4.5.5 数组的查找 67
4.5.6 数组的排序 67
第1篇 Visual Basic基础篇
第1章 认识Visual Basic 2
1.1 Visual Basic概述 3
1.1.1 Visual Basic的发展历程 3
1.1.2 Visual Basic 6.0版本介绍 3
1.2 Visual Basic 6.0安装 4
1.2.1 硬件要求 4
1.2.2 软件要求 4
1.2.3 Visual Basic 6.0企业版+SP6的安装与卸载 4
1.3 Visual Basic 6.0启动 5
1.4 Visual Basic 6.0集成开发环境 6
1.4.1 集成开发环境概述 6
1.4.2 开发环境的组成 7
1.4.3 定制自己的开发环境 13
1.5 Visual Basic 6.0的帮助系统 14
1.5.1 MSDN Library的使用 15
1.5.2 上下文帮助 15
1.5.3 自定义MSDN Library 16
1.5.4 微软网上编程资源 17
1.6 MSDN Library提供的开发资源 17
1.6.1 利用附带的实例源程序学习编程 17
1.6.2 学习可视化数据管理器的源程序 18
1.7 Visual Basic应用程序的基本设计步骤 19
1.7.1 创建工程 19
1.7.2 创建窗体 20
1.7.3 设计程序界面 20
1.7.4 编写代码 20
1.7.5 程序运行 20
1.7.6 保存工程 21
1.7.7 生成可执行文件 21
第2章 Visual Basic语言基础 22
2.1 程序设计的基本概念 23
2.1.1 关键字 23
2.1.2 标识符 23
2.1.3 ASCII字符集 23
2.2 数据类型 23
2.2.1 基本数据类型 23
2.2.2 枚举型数据类型 24
2.2.3 自定义数据类型 25
2.3 声明和使用常量 26
2.3.1 局部常量的声明 26
2.3.2 局部常量的使用 26
2.3.3 模块级常量的声明 27
2.3.4 模块级常量的使用 27
2.3.5 公用常量的声明 27
2.3.6 公用常量的使用 27
2.4 声明和使用变量 28
2.4.1 变量的声明方式 28
2.4.2 局部变量的声明 28
2.4.3 局部变量的使用 29
2.4.4 模块级变量的声明 29
2.4.5 模块级变量的使用 29
2.4.6 公用变量的声明 30
2.4.7 公用变量的使用 30
2.4.8 Option Explicit语句 31
2.5 Visual Basic中的运算符 31
2.5.1 赋值运算符 31
2.5.2 Like运算符 32
2.5.3 算数运算符 32
2.5.4 关系运算符 33
2.5.5 逻辑运算符 33
2.5.6 字符串运算符 34
2.6 Visual Basic中的表达式 35
2.6.1 表达式的组成 35
2.6.2 表达式的书写规则 35
2.6.3 运算符在表达式中的优先级 35
2.7 程序编写规范 36
2.7.1 代码书写规则 36
2.7.2 对象、常量、变量及过程的命名约定与规范 38
2.7.3 #注释编码的标准化格式 39
2.7.4 空格、格式化及缩排的准则 40
2.8 程序优化 40
2.8.1 代码优化 40
2.8.2 对象优化 41
第3章 控制结构 42
3.1 顺序结构 43
3.1.1 赋值语句 43
3.1.2 数据的输入 43
3.1.3 数据的输出 44
3.2 选择结构 45
3.2.1 If...Then语句 45
3.2.2 If...Then...Else语句 45
3.2.3 If...Then...ElseIf语句 46
3.2.4 IIf函数 47
3.2.5 If语句的嵌套 48
3.3 多分支选择结构 49
3.3.1 Select Case语句 49
3.3.2 Is、To等关键字在Select Case语句中的使用 49
3.3.3 Select Case语句的典型应用 50
3.4 循环结构 51
3.4.1 While...Wend语句 51
3.4.2 For...Next语句 52
3.4.3 For Each...Next语句 52
3.4.4 循环嵌套 53
3.4.5 选择结构与循环结构的嵌套 53
3.5 Do...Loop循环结构 54
3.5.1 While当型循环语句 55
3.5.2 Until直到型循环语句 55
3.5.3 Exit Do型循环语句 55
3.6 其他控制语句 56
3.6.1 GoTo语句 56
3.6.2 Exit语句 57
3.6.3 End语句 57
3.6.4 With语句 58
第4章 数组 60
4.1 数组的概念 61
4.2 静态数组与动态数组 61
4.2.1 静态数组的声明 61
4.2.2 静态数组的使用 62
4.2.3 动态数组的声明 62
4.2.4 动态数组的使用 62
4.3 一维数组 63
4.3.1 一维数组的声明 63
4.3.2 一维数组的使用 63
4.4 二维数组及多维数组 64
4.4.1 二维数组的声明 64
4.4.2 二维数组的使用 64
4.4.3 多维数组的声明 65
4.4.4 多维数组的使用 65
4.5 数组的基本操作 65
4.5.1 数组的输入 65
4.5.2 数组的输出 66
4.5.3 数组的插入 66
4.5.4 数组的删除 66
4.5.5 数组的查找 67
4.5.6 数组的排序 67
4.6 记录数组 68
4.6.1 记录数组的概念 68
4.6.2 记录数组的使用 68
4.7 控件数组 69
4.7.1 控件数组的概念 69
4.7.2 创建控件数组 69
4.7.3 使用控件数组 69
4.7.4 动态添加控件 70
4.8 与数组相关的函数及语句 70
4.8.1 Array函数 70
4.8.2 UBound函数和LBound函数 71
4.8.3 Split函数 71
4.8.4 Option Base语句 72
第5章 算法 73
5.1 算法概述 74
5.1.1 什么是算法 74
5.1.2 算法的特点 74
5.1.3 算法的描述方法 74
5.2 若干基本数学算法 75
5.2.1 查找最大值和最小值 75
5.2.2 计算最大公约数和最小公倍数 76
5.2.3 累加和累乘 77
5.2.4 求100以内素数 77
5.2.5 进制转换 77
5.2.6 杨辉三角 78
5.2.7 哥德巴赫猜想 79
5.3 排序算法 79
5.3.1 选择排序 79
5.3.2 交换法排序 80
5.3.3 合并排序 81
5.3.4 插入排序 82
5.4 查找算法 82
5.4.1 顺序查找 83
5.4.2 二分法查找 83
5.5 字符处理应用 84
5.5.1 简单的加密解密算法 84
5.5.2 字符串处理 84
5.6 穷举法 85
5.7 迭代法 85
5.8 其他算法应用 86
5.8.1 8421码转换 86
5.8.2 身份证位数转换算法 87
第6章 过程与函数 88
6.1 过程的定义与调用 89
6.1.1 Sub过程定义与调用 89
6.1.2 Function过程定义与调用 90
6.1.3 Sub过程和Function过程的区别 90
6.1.4 Property属性过程 91
6.1.5 自定义Function函数过程和Sub过程的典型应用 92
6.2 参数传递 95
6.2.1 形参与实参 95
6.2.2 按值和按址传递 95
6.2.3 过程的可选参数和可变参数 96
6.2.4 数组参数 97
6.2.5 对象参数 97
6.2.6 参数传递的典型应用 97
6.3 过程的嵌套与递归调用 98
6.3.1 过程的嵌套调用 98
6.3.2 过程的递归调用 98
6.4 Sub Main过程 98
6.5 过程的作用域 99
6.6 使用内部函数 99
6.6.1 数学函数 99
6.6.2 字符串函数 100
6.6.3 转换函数 100
6.6.4 判断函数 101
6.6.5 日期和时间函数 101
6.6.6 格式化函数 102
6.6.7 Shell函数 103
6.6.8 随机函数 104
第7章 面向对象的程序设计 105
7.1 面向对象编程 106
7.1.1 面向对象编程概述 106
7.1.2 对象的基本概念 106
7.2 类与对象 106
7.2.1 类的创建 106
7.2.2 对象 111
7.2.3 接口与多态 113
7.3 对象数组与集合 114
7.3.1 创建对象数组 114
7.3.2 什么是集合 115
7.3.3 集合的创建 115
7.3.4 使用类生成器创建集合 116
7.3.5 引用集合中的对象 118
7.3.6 控件集合(Controls集合) 118
7.3.7 创建自己的集合类 118
7.4 对象浏览器 119
7.4.1 对象浏览器概述 120
7.4.2 对象浏览器的使用 120
第2篇 用户界面篇
第8章 窗体 123
8.1 窗体概述 124
8.1.1 窗体的构成 124
8.1.2 窗体的类型 124
8.1.3 添加和删除窗体 125
8.2 窗体的属性 126
8.2.1 窗体的属性 126
8.2.2 设置窗体的标题 127
8.2.3 改变窗体边框的样式 127
8.2.4 更换窗体的图标 128
8.2.5 窗体的显示位置 129
8.2.6 为窗体添加背景图片 130
8.3 窗体的方法 131
8.3.1 窗体的加载与卸载 131
8.3.2 窗体的显示与隐藏 131
8.3.3 将数据输出到窗体上 132
8.3.4 打印窗体上的数据 133
8.4 窗体的事件 133
8.4.1 单击事件 133
8.4.2 双击事件 133
8.4.3 载入事件 134
8.4.4 卸载事件 135
8.4.5 QueryUnload事件 135
8.5 MDI窗体的界面设计 136
8.5.1 MDI窗体概述 136
8.5.2 MDI子窗体的特点 137
8.5.3 创建MDI窗体 137
8.5.4 创建MDI应用程序 137
第9章 系统对象 139
9.1 应用程序对象(App) 140
9.1.1 App对象概述 140
9.1.2 App对象的常用属性 140
9.2 剪贴板对象(Clipboard) 143
9.2.1 Clipboard对象概述 143
9.2.2 Clipboard对象的常用方法 143
9.3 屏幕对象(Screen) 145
9.3.1 Screen对象概述 145
9.3.2 Screen对象的常用属性 145
9.4 调试对象(Debug) 146
9.4.1 Debug对象概述 146
9.4.2 Debug对象的方法 146
9.4.3 利用Debug对象调试程序 147
9.5 打印对象(Printer和Printers集合) 147
9.5.1 打印对象概述 147
9.5.2 利用Printer对象获得打印机的字体列表 148
第10章 控件 149
10.1 控件概述 150
10.1.1 控件的作用 150
10.1.2 控件与对象的关系 150
10.1.3 控件的属性、方法和事件 150
10.2 控件分类 151
10.2.1 Windows标准控件 151
10.2.2 ActiveX控件 151
10.2.3 可插入对象 151
10.3 控件的相关操作 151
10.3.1 向窗体上添加控件 151
10.3.2 对齐控件 152
10.3.3 调整控件的前后顺序 153
10.3.4 锁定控件 153
10.3.5 删除控件 154
10.3.6 恢复被删除的控件 154
10.3.7 添加ActiveX控件 154
10.3.8 注册ActiveX控件 155
10.4 常用控件 155
10.4.1 Label控件 155
10.4.2 TextBox控件 159
10.4.3 CommandButton控件 162
10.4.4 OptionButton控件 164
10.4.5 CheckBox控件 165
10.4.6 Timer控件 166
10.4.7 ListBox控件 167
10.4.8 ComboBox控件 171
10.4.9 ListBox控制和ComboBox控件的典型应用 175
10.5 高级控件 175
10.5.1 MaskEdBox控件 175
10.5.2 RichTextBox控件 177
10.5.3 DateTimePicker控件 180
10.5.4 MonthView控件 182
10.5.5 SSTab控件 184
10.5.6 ListView控件 186
10.5.7 TreeView控件 189
10.5.8 ProgressBar控件 192
10.5.9 Slider控件 193
10.5.10 OLE容器控件 196
10.5.11 RichTextBox控件的典型应用 197
10.5.12 ListView控制和TreeView控件的典型应用 198
第11章 菜单、工具栏与状态栏的设计 200
11.1 菜单设计基础 201
11.1.1 菜单基本概念 201
11.1.2 菜单的组成 201
11.1.3 菜单编辑器的使用 202
11.1.4 设置菜单的快捷键与访问键 204
11.1.5 创建复选菜单 205
11.1.6 创建级联菜单 205
11.1.7 修饰菜单 205
11.2 弹出式菜单 206
11.2.1 弹出式菜单概述 206
11.2.2 弹出式菜单的设计 206
11.2.3 弹出式菜单的调用 206
11.2.4 弹出式菜单的应用举例 207
11.3 菜单的编程 207
11.3.1 为菜单事件过程添加代码 207
11.3.2 运行时改变菜单状态 207
11.3.3 运行时增减菜单项 208
11.3.4 菜单数组的应用 209
11.3.5 分栏菜单的设计 209
11.3.6 图形菜单设计 210
11.3.7 美化菜单 211
11.4 工具栏的创建与设计 212
11.4.1 工具栏简介 212
11.4.2 利用Toolbar控件创建工具栏 212
11.4.3 为工具栏按钮设置分组 214
11.4.4 为工具栏添加下拉菜单 215
11.4.5 给工具栏按钮增加事件处理代码 215
11.4.6 利用CoolBar控件制作工具栏 216
11.5 状态栏的创建与设计 217
11.5.1 状态栏简介 217
11.5.2 设计状态栏 217
11.5.3 在状态栏中添加日期时间 217
11.5.4 在状态栏中显示系统登录操作员信息 218
11.5.5 在状态栏中显示鼠标位置 219
11.5.6 在状态栏中显示当前状态信息 219
11.5.7 在状态栏中显示当前操作窗体的名称 220
第12章 对话框 221
12.1 输入对话框 222
12.2 消息对话框 223
12.3 自定义对话框 224
12.3.1 由普通窗体创建的自定义对话框 224
12.3.2 使用对话框模板创建的对话框 224
12.3.3 显示与关闭自定义的对话框 225
12.4 公用对话框 225
12.4.1 “打开”对话框 226
12.4.2 “另存为”对话框 226
12.4.3 “颜色”对话框 227
12.4.4 “字体”对话框 228
12.4.5 “打印”对话框 228
12.4.6 “帮助”对话框 229
第13章 鼠标、键盘处理技术 230
13.1 鼠标的基本操作 231
13.1.1 定义鼠标指针形状 231
13.1.2 定义鼠标为指定的图片 232
13.1.3 定义鼠标为指定的动画图标 232
13.2 关于鼠标事件的响应 233
13.2.1 Click和DblClick事件 233
13.2.2 MouseDown和MouseUp事件 234
13.2.3 MouseMove事件 235
13.2.4 控制鼠标操作 236
13.3 读取和判断键盘输入 237
13.3.1 ASCII字母键码表 237
13.3.2 KeyDown与KeyUp事件 237
13.3.3 KeyPress事件 242
13.3.4 KeyPreview属性 242
13.4 使用键盘热键 243
13.5 键盘消息的响应 244
13.6 拖放技术 244
13.6.1 与拖放有关的属性、事件和方法 244
13.6.2 启动自动拖放模式 246
13.6.3 改变拖动图标 247
13.6.4 放下对象时的响应 247
13.6.5 启动拖动或停止拖动时的控制 247
13.6.6 改变控件的位置 247
13.6.7 拖放技术的典型应用 248
第3篇 文件、图形、图像与多媒体篇
第14章 文件处理技术 250
14.1 文件的概念 251
14.2 文件的结构和类型 251
14.2.1 文件的结构 251
14.2.2 文件的分类 251
14.3 文件处理的一般步骤 253
14.4 顺序文件 253
14.4.1 打开顺序文件 253
14.4.2 读取顺序文件 254
14.4.3 写入顺序文件 255
14.4.4 关闭顺序文件 257
14.5 随机文件 257
14.5.1 随机文件的打开和关闭 257
14.5.2 读取随机文件 258
14.5.3 写入随机文件 258
14.6 二进制文件 259
14.6.1 二进制文件的打开和关闭 259
14.6.2 二进制文件的读写操作 260
14.7 文件系统控件 261
14.7.1 驱动器列表框(DriveListBox) 261
14.7.2 目录列表框(DirListBox) 263
14.7.3 文件列表框(FileListBox) 264
14.7.4 文件系统控件的联动 268
14.8 常用的文件操作语句和函数 270
14.8.1 文件操作语句 270
14.8.2 文件操作函数 273
14.9 文件系统对象 275
14.9.1 FSO对象模型 275
14.9.2 FileSystemObject对象 276
14.9.3 Drive对象及磁盘驱动器的操作 277
14.9.4 Folder对象与文件夹的浏览 279
14.9.5 File对象与文件的操作 280
14.9.6 TextStream对象与文件的读写 280
14.10 访问INI文件 282
14.10.1 读取INI文件设置 282
14.10.2 保存INI文件设置 283
第15章 图形处理技术 284
15.1 图形处理的基础知识 285
15.2 Visual Basic的坐标系统 286
15.2.1 默认坐标系统 286
15.2.2 用户自定义坐标系统 287
15.3 图形控件 288
15.3.1 Shape控件 288
15.3.2 Line控件 289
15.4 图形属性 290
15.4.1 CurrentX属性和CurrentY属性 290
15.4.2 Left和Top属性、Height属性和Width属性 291
15.4.3 BorderStyle属性、BorderWidth属性和BorderColor属性 291
15.4.4 DrawWidth属性、DrawStyle属性和DrawMode属性 293
15.4.5 BackColor属性和ForeColor属性 295
15.4.6 FillColor属性和FillStyle属性 296
15.5 图形方法 297
15.5.1 使用PSet方法画点 297
15.5.2 使用Line方法画线 297
15.5.3 使用Circle方法画圆 298
15.5.4 使用PaintPicture方法绘制图像 299
15.5.5 使用Point方法返回指定点的颜色 300
15.5.6 使用Cls方法清屏 301
15.5.7 图形方法和图形控件的比较 301
15.6 利用API函数绘制几何图形 301
15.6.1 绘制弧线(Arc函数) 301
15.6.2 绘制圆和椭圆(Ellipse函数) 302
15.6.3 绘制多边形函数(Polygon函数) 303
15.6.4 绘制矩形函数(Rectangle函数) 304
第16章 图像技术应用 305
16.1 图形和图像之间的区别与联系 306
16.2 图像控件 306
16.2.1 PictureBox控件 306
16.2.2 Image控件 307
16.3 图像的保存与读取 308
16.3.1 SavePicture语句 308
16.3.2 LoadPicture函数 308
16.4 图像文件格式转换 309
16.4.1 图像文件格式简介 309
16.4.2 将彩色图片转换为灰度图片 310
16.4.3 图像文件格式的转换 311
16.5 图像的相关操作 313
16.5.1 图像的剪切 313
16.5.2 图像的合成 314
16.6 图像的特殊效果 315
16.6.1 图像的滚动效果 315
16.6.2 图像的雨滴效果 316
16.6.3 图像的平铺效果 317
16.7 图像的典型应用 318
16.7.1 在图像上书写文字 318
16.7.2 提取图片中的对象 319
16.7.3 屏幕抓图 320
16.7.4 图片的分类存储 321
第17章 多媒体技术 324
17.1 多媒体概述及其元素 325
多媒体的概念及特点 325
17.2 文字处理 325
17.2.1 滚动文字 325
17.2.2 彩虹文字 326
17.2.3 动画文字 327
17.3 音频处理 330
17.3.1 MMControl控件 330
17.3.2 播放MIDI和WAV文件 333
17.3.3 播放MP3文件 337
17.4 视频处理 338
17.4.1 利用MMControl控件播放AVI 338
17.4.2 播放VCD 339
17.5 动画处理 341
17.5.1 Animation控件 341
17.5.2 ShockwaveFlash控件 343
17.5.3 Flash浏览器 345
17.5.4 播放GIF动画 346
17.5.5 制作自己的动画 346
17.6 DirectX 347
17.6.1 下载和安装DirectX 347
17.6.2 在VB中使用DirectX 348
17.6.3 利用DirectSound编程实现实时混音 348
17.6.4 列举DirectX的显示模式 350
17.7 API函数在多媒体中的应用 351
17.7.1 利用sndPlaySound函数播放音频文件 351
17.7.2 利用mciExecute函数播放WAV文件 352
17.7.3 利用mciSendString函数制作动画播放器 354
17.7.4 其他控制多媒体的API函数 356
第4篇 数据库编程技术篇
第18章 数据库的安装与创建 359
18.1 Access数据库 360
18.1.1 安装Access数据库 360
18.1.2 创建Access数据库 363
18.1.3 创建Access数据表 363
18.2 SQL Server数据库 364
18.2.1 安装SQL Server 364
18.2.2 启动SQL Server服务管理器 367
18.2.3 创建SQL Server数据库 368
18.2.4 创建SQL Server数据表 369
第19章 SQL语句在Visual Basic中的应用 371
19.1 SQL语言简介 372
19.2 SELECT子句 372
19.2.1 选择所有列 373
19.2.2 选择部分列 374
19.2.3 使用列别名 375
19.3 WHERE子句 376
19.3.1 用WHERE子句定义查询条件 376
19.3.2 使用比较运算符 376
19.3.3 查询介于某一范围的数据 377
19.3.4 模糊查询 378
19.3.5 列表运算符查询 379
19.3.6 查询空数据 380
19.4 查询结果的处理 380
19.4.1 限制结果集返回的行数 380
19.4.2 对查询结果排序 381
19.4.3 去掉查询结果中的重复记录 382
19.4.4 合并查询 383
19.5 查询控件 383
19.5.1 查询数值型数据 383
19.5.2 查询字符型数据 383
19.5.3 查询日期型数据 384
19.6 连接查询 384
19.6.1 等值连接 384
19.6.2 内连接 385
19.6.3 外连接 385
19.7 分组查询及统计 386
19.8 交叉表查询 387
19.9 数据添加、修改和删除 388
19.9.1 添加数据 388
19.9.2 修改数据 390
19.9.3 删除数据 393
19.10 使用SQL语句维护数据库 394
19.10.1 创建、修改和删除数据库 394
19.10.2 创建、修改和删除数据表 396
19.10.3 数据库的备份与恢复 399
19.10.4 附加和分离数据库 401
第20章 DAO对象编程 403
20.1 DAO对象 404
20.1.1 数据库引擎对象DBEngine 404
20.1.2 数据工作空间对象WorkSpace 404
20.1.3 数据库对象Database 405
20.1.4 数据表对象TableDef与字段对象Field 407
20.1.5 数据记录集对象 408
20.1.6 数据查询对象 410
20.2 打开与关闭数据库 410
20.2.1 引用数据库引擎动态链接库 410
20.2.2 打开数据库 411
20.2.3 关闭数据库 411
20.3 利用记录集(Recordset)对象操作数据库 411
20.3.1 创建并打开Recordset对象 411
20.3.2 浏览数据记录 411
20.3.3 增加、修改和删除数据表中的记录 412
20.3.4 查询数据表中的记录 414
20.4 TableDef、Field、QueryDef对象的使用 415
20.4.1 利用TableDef对象创建表 415
20.4.2 利用Field对象设计字段 415
20.4.3 利用QueryDef对象进行数据查询操作 415
第21章 ADO数据库编程 417
21.1 ADO概述 418
21.2 ADO对象概述 419
21.2.1 连接数据源——Connection对象 419
21.2.2 记录集对象——Recordset对象 422
21.2.3 命令对象——Command对象 428
21.2.4 字段对象——Field对象 429
21.2.5 二进制数据——Stream对象 430
21.2.6 Parameter对象 431
21.2.7 利用Record对象操作数据表 432
21.2.8 利用Error对象显示错误信息 433
21.3 用ADO对象连接数据库 434
21.3.1 使用ADO连接Access 434
21.3.2 使用ADO对象连接SQL Server数据库 434
21.4 使用ADO对象编辑数据记录 435
21.4.1 增加数据记录 435
21.4.2 修改数据记录 438
21.4.3 删除数据记录 441
21.4.4 使用事务 442
21.5 使用ADO对象查询数据记录 443
21.5.1 使用MoveFirst、MoveLast、MoveNext和MovePrevious浏览记录 443
21.5.2 使用Recordset对象的Find方法查询记录 445
21.5.3 用Connection对象运行查询语句 447
21.5.4 用Command对象执行SQL语句(执行带参数的SQL语句) 448
21.5.5 使用Filter属性查找数据记录 449
21.6 ADO对象的典型应用 450
21.6.1 获取SQL Server服务器中的所有数据库 450
21.6.2 使用Openschema方法读取数据库结构 451
21.6.3 获取表中字段 451
第22章 数据控件编程 453
22.1 Data控件 454
22.1.1 引入Data控件到工程中 454
22.1.2 Data控件的主要属性、事件和方法 454
22.1.3 使用Data控件连接数据库 458
22.1.4 使用Data控件增加、修改和删除记录 459
22.1.5 使用Data控件查询记录 461
22.2 ADO控件 462
22.2.1 引入ADO控件到工程中 462
22.2.2 ADO控件的主要属性、事件和方法 462
22.2.3 使用ADO控件连接数据库 465
22.2.4 使用AddNew方法增加数据记录 467
22.2.5 使用Update方法修改数据记录 467
22.2.6 使用Delete方法删除数据记录 468
22.2.7 使用RecordSource属性查询记录 468
22.3 RDO控件(远程数据控件) 469
22.3.1 引入RDO控件到工程中 469
22.3.2 RDO控件与数据访问有关的属性 469
22.3.3 使用RDO控件连接远程数据库 470
22.4 DBList控件、DBCombo控件和DBGrid控件 471
22.4.1 引入DBList控件、DBCombo控件和DBGrid控件到工程中 471
22.4.2 DBList控件、DBCombo控件和DBGrid控件的主要属性、方法和事件 472
22.4.3 用DBList控件、DBCombo控件和DBGrid控件显示数据表中的数据 476
22.5 DataCombo控件和DataList控件 477
22.5.1 引入DataCombo控件和DataList控件到工程中 477
22.5.2 DataCombo控件和DataList控件的主要属性、方法和事件 477
22.5.3 在DataCombo控件中显示数据 481
22.5.4 在DataList控件中显示数据 481
22.5.5 使用DataCombo控件和DataList控件显示关系表中的数据 482
22.6 DataGrid控件 483
22.6.1 引入DataGrid控件到工程中 483
22.6.2 DataGrid控件的主要属性、方法和事件 483
22.6.3 用DataGrid控件显示数据表中的数据 485
22.6.4 通过DataGrid控件增加、修改和删除数据 486
22.7 MSFlexGrid控件和MSHFlexGrid控件 487
22.7.1 MSFlexGrid控件和MSHFlexGrid控件的功能比较 487
22.7.2 MSHFlexGrid控件的主要属性、方法和事件 487
22.7.3 使用MSHFlexGrid控件显示数据 491
22.7.4 使用MSHFlexGrid控件批量录入数据 491
22.7.5 使用MSHFlexGrid控件对数据进行合并和排序 493
22.7.6 使用MSHFlexGrid控件显示层次结构数据 495
第23章 高性能数据处理技术 497
23.1 存储过程概述 498
23.2 存储过程的新建、修改和删除 498
23.2.1 新建存储过程 498
23.2.2 修改存储过程 500
23.2.3 删除存储过程 501
23.3 在Visual Basic中调用存储过程 501
23.4 视图概述 503
23.5 视图的新建、修改和删除 503
23.5.1 新建视图 503
23.5.2 修改视图 505
23.5.3 删除视图 506
23.6 使用视图 506
23.7 使用触发器 507
23.8 使用游标 509
第5篇 图表、报表及打印篇
第24章 图表技术 514
24.1 图表的基本用法 515
24.1.1 认识MSChart控件 515
24.1.2 图表的组成 515
24.1.3 通过“属性页”设置图表外观 516
24.1.4 MSChart控件的属性、方法和事件 516
24.2 图表的相关对象 528
24.2.1 MSChart控件的对象 528
24.2.2 设置图表区字体 529
24.2.3 填充图表元素的颜色 529
24.2.4 设置图表比例 530
24.3 图表与数据的关联 531
24.3.1 与数组关联 531
24.3.2 与数据源关联 532
24.3.3 与记录关联 532
24.4 不同类型图表的典型应用 533
24.4.1 条形图表分析公司年销售业绩 533
24.4.2 对比图表分析 534
24.4.3 折线图表分析产品价格趋势 535
24.4.4 饼型图表分析市场占有率 536
24.4.5 三维图表实例 537
24.4.6 根据查询结果显示图表 537
第25章 数据环境设计器 540
25.1 添加数据环境对象 541
25.2 Connection对象 542
25.2.1 添加Connection对象 542
25.2.2 连接Connection对象 542
25.2.3 设置登录信息 543
25.2.4 设置连接信息 543
25.3 Command对象 544
25.3.1 创建一个Command对象 544
25.3.2 通过存储过程创建Command对象 546
25.3.3 Command层次结构 546
25.3.4 字段映射 550
25.4 数据环境设计器的典型应用 551
25.4.1 创建数据窗体 551
25.4.2 添加、修改和删除记录 552
25.4.3 移动记录 553
25.4.4 创建数据报表 554
第26章 数据报表技术 555
26.1 DataReport报表 556
26.1.1 数据报表设计器的功能 556
26.1.2 在工程中添加数据报表设计器 556
26.1.3 初识数据报表设计器 556
26.1.4 数据报表设计器的对象 557
26.1.5 DataReport对象的属性和方法 558
26.2 DataReport报表的典型应用 559
26.2.1 一个简单的报表 559
26.2.2 向报表中添加日期、时间、页码 560
26.2.3 分组统计报表 561
26.2.4 主明细报表 561
26.2.5 导出报表为HTML文件 563
26.3 Crystal Reports报表 564
26.3.1 安装Crystal Reports 564
26.3.2 用Crystal Reports创建一个报表 565
26.3.3 在Visual Basic环境中调用CrystalReport 10 567
26.3.4 使用Crystal Reports设计商用报表 568
第27章 从应用程序中打印 570
27.1 使用PrintForm方法打印 571
27.2 使用Printers集合设置打印机 572
27.2.1 设置默认打印机 572
27.2.2 显示打印机的设备名称 572
27.3 使用Visual Basic打印机对象打印 573
27.3.1 Printer对象的主要属性 573
27.3.2 Printer对象的主要方法 578
27.4 其他打印方式 580
27.4.1 利用CommonDialog控件实现打印功能 580
27.4.2 通过Excel打印报表 582
27.4.3 通过Word打印报表 585
27.5 典型打印 588
27.5.1 通用打印过程 588
27.5.2 卡片式打印 589
27.5.3 打印图片 590
27.5.4 分页打印 592
27.5.5 连续打印 593
27.5.6 证书套打 596
27.6 捕获打印机错误 597
第6篇 网络通信篇
第28章 网络编程技术 599
28.1 TCP、UDP和IP协议 600
28.1.1 TCP协议 600
28.1.2 UDP协议 600
28.1.3 IP协议 601
28.2 Winsock控件 602
28.2.1 Winsock控件的属性、方法和事件 603
28.2.2 建立服务器/客户端的通信 609
28.2.3 建立点对点通信 610
28.3 Winsock控件的典型应用 612
28.3.1 下载HTML网页 612
28.3.2 利用Winsock控件实现端口扫描 612
28.3.3 开发服务器/客户端聊天程序 613
28.3.4 开发点对点实时聊天程序 615
28.3.5 开发多点聊天室 616
第29章 Internet编程技术 617
29.1 网络层次模型 618
29.1.1 OSI参考模型 618
29.1.2 TCP/IP体系结构 619
29.1.3 OSI参考模型与TCP/IP体系结构对照 620
29.2 应用层的有关协议 620
29.2.1 HTTP协议 620
29.2.2 FTP协议 621
29.3 Internet Transfer控件 621
29.3.1 Internet Transfer控件的属性、方法与事件 621
29.3.2 提取网页源码 628
29.3.3 获取网页中的内容 629
29.4 WebBrowser控件 630
29.4.1 引用WebBrowser控件 630
29.4.2 WebBrowser控件的属性和方法 630
29.4.3 建立基本的浏览器 633
29.4.4 完善简单浏览器 634
29.5 邮件发送与接收 635
29.5.1 E-mail概述 635
29.5.2 SMTP与发送电子邮件 635
29.5.3 POP3与接收电子邮件 637
29.5.4 MAPISession控件 638
29.5.5 MAPIMessages控件 640
29.5.6 邮件发送和接收程序的具体实现 644
29.5.7 邮件管理程序设计 645
29.5.8 在Visual Basic中使用OutLook发送电子邮件 646
29.6 API函数在Internet程序中的应用 647
29.6.1 利用API函数下载文件 647
29.6.2 加入收藏夹 647
29.6.3 网络映射 648
29.6.4 网站过滤器 648
第30章 数据通信技术 650
30.1 串口、并口通信概述 651
30.1.1 串口通信 651
30.1.2 并口通信 651
30.1.3 发送顺序 651
30.1.4 RS-232C标准接口 652
30.2 MSComm控件 652
30.2.1 MSComm控件的属性 652
30.2.2 MSComm控件的事件 659
30.2.3 利用MSComm控件实现串口通信 659
30.2.4 利用MSComm控件实现电话拨号 660
30.3 与串口通信有关的API函数 661
30.3.1 初始化串行端口(CreatFile) 661
30.3.2 读取串口参数(GetCommState) 662
30.3.3 设置串行口参数(SetCommState) 662
30.3.4 数据传输(ReadFile/WriteFile) 662
30.3.5 关闭串口(CloseHandle) 663
30.3.6 利用API函数实现串口通信 663
30.4 硬件相关开发 664
30.4.1 视频捕捉 664
30.4.2 使用短信猫发送短信 665
30.4.3 将密码写入加密狗 666
第7篇 程序开发高级应用篇
第31章 资源文件 669
31.1 资源编辑器的使用 670
31.1.1 资源编辑器的加载 670
31.1.2 资源文件的创建 671
31.2 资源文件使用的相关函数 672
31.2.1 利用LoadResString函数加载文本资源 672
31.2.2 利用LoadResPicture函数加载图形资源 673
31.2.3 利用LoadResData函数加载多种类型的资源 674
31.2.4 利用sndPlaySound函数播放加载后的声音资源 675
31.3 资源文件的使用 676
31.3.1 利用资源文件设置菜单 676
31.3.2 利用资源文件设置鼠标效果 677
31.3.3 利用资源文件设置图片 677
第32章 VSS版本管理 679
32.1 VSS的安装和配置 680
32.1.1 VSS的安装 680
32.1.2 服务器端的配置和使用 681
32.1.3 客户端的使用 682
32.2 VSS的工作原理和基本概念 682
32.2.1 VSS的工作原理 682
32.2.2 VSS的基本概念 682
32.3 VSS的基本操作 683
32.3.1 创建工作文件夹(New Folder) 683
32.3.2 查看文件(View File) 684
32.3.3 编辑文件(Edit) 684
32.3.4 提交文件(Check In) 684
32.3.5 删除文件(Delete) 685
32.3.6 清除项目(Delete Items) 685
32.3.7 文本历史版本(History) 686
32.3.8 VSS备份(Save data) 686
32.3.9 VSS还原(Restore) 687
第33章 应用程序控制 688
33.1 OLE控件 689
33.1.1 OLE控件的功能 689
33.1.2 OLE控件的常用属性 689
33.1.3 OLE控件的常用方法 692
33.2 利用Visual Basic控制Word 693
33.2.1 如何在Visual Basic中使用Word对象 693
33.2.2 常用的Word对象 694
33.2.3 提取指定目录下的文件夹 695
33.3 利用Visual Basic控制Excel 696
33.3.1 如何在Visual Basic中使用Excel对象 696
33.3.2 常用的Excel对象 697
33.3.3 把数据导出到Excel中 698
第8篇 Windows编程篇
第34章 WIN32 API 701
34.1 Windows API概述 702
34.1.1 什么是API 702
34.1.2 静态链接 702
34.1.3 动态链接库(DLL) 702
34.1.4 主要的动态链接库及功能 703
34.2 API相关概念 703
34.2.1 Win32 API相关概念 703
34.2.2 什么是句柄 703
34.2.3 窗口句柄 704
34.2.4 设备环境句柄 704
34.2.5 数据类型 705
34.3 Visual Basic与API 706
34.3.1 Visual Basic中API的声明 706
34.3.2 API文本浏览器 706
34.3.3 把声明、常量或类型复制到Visual Basic代码中 708
34.4 Windows消息系统 709
34.4.1 什么是消息 709
34.4.2 Visual Basic事件与Windows消息 709
34.4.3 Windows消息应用 710
34.5 控件消息 711
34.5.1 与发送消息有关的函数 711
34.5.2 常用控件消息及程序举例 712
第35章 注册表 715
35.1 认识Windows注册表 716
35.1.1 什么是注册表 716
35.1.2 注册表的结构 716
35.2 利用Visual Basic函数(语句)访问注册表 718
35.3 利用API函数访问注册表 721
35.3.1 打开(创建)注册表项 721
35.3.2 删除注册表中的项 723
35.3.3 设置和删除注册表项的值 723
35.3.4 读取注册表中的默认值 725
35.3.5 读取注册表指定名称的值的数据 725
35.4 注册表相关技术典型应用 727
35.4.1 将应用软件的试用次数写入注册表 727
35.4.2 显示与隐藏 728
35.4.3 保护注册表 729
35.4.4 文件关联 731
35.4.5 应用软件设置 732
第9篇 程序的优化和发布篇
第36章 ActiveX开发 735
36.1 OCX控件的制作 736
36.1.1 创建ActiveX控件工程 736
36.1.2 添加控件并设计OCX控件的外观 736
36.1.3 定制OCX控件的属性、方法与事件 737
36.1.4 生成.ocx文件 737
36.1.5 OCX控件的注册与使用 737
36.2 COM组件的制作 738
36.2.1 创建ActiveX DLL工程 739
36.2.2 编写COM组件的功能代码 739
36.2.3 生成.dll文件 741
36.2.4 COM组件的注册与使用 741
第37章 程序调试与错误处理 742
37.1 Visual Basic中的错误 743
37.1.1 编译错误 743
37.1.2 运行错误 743
37.1.3 逻辑错误 744
37.2 Visual Basic调试工具和方法 744
37.2.1 IDE选项 744
37.2.2 调试工具栏 744
37.2.3 立即窗口 745
37.2.4 监视窗口 745
37.2.5 本地窗口 746
37.2.6 堆栈窗口 746
37.3 调试方法 747
37.3.1 Debug对象 747
37.3.2 Stop语句 748
37.4 错误处理语句和对象 748
37.4.1 Err对象 748
37.4.2 On Error GoTo语句 749
37.4.3 Resume语句 750
第38章 帮助文件 752
38.1 给控件添加提示信息 753
38.2 Win Help帮助文件 753
38.2.1 安装Microsoft Help Workshop 753
38.2.2 编辑RTF文件 754
38.2.3 制作帮助主题文件 755
38.2.4 制作.hlp帮助文件 757
38.2.5 在Visual Basic中使用帮助文件 757
38.3 HTML帮助文件 757
38.3.1 HTML帮助文件概述 757
38.3.2 安装Microsoft HTML Help Workshop 758
38.3.3 HTML帮助主题文件 758
38.3.4 HTML帮助项目文件 758
38.3.5 目录和目录文件 759
38.3.6 关键字和索引文件 759
38.3.7 制作.chm文件 759
38.3.8 与Visual Basic工程连接 763
38.4 帮助文件的调用 763
38.4.1 使用F1键调用帮助文件 763
38.4.2 使用SendKeys语句调用帮助文件 763
38.4.3 使用Shell函数调用帮助文件 763
38.4.4 使用HtmlHelp函数调用帮助文件 764
38.4.5 使用ShellExecute函数调用帮助文件 764
第39章 应用程序的打包及安装 765
39.1 将应用工程打包 766
39.1.1 指定工程及操作类型 766
39.1.2 指定打包类型 766
39.1.3 指定打包文件夹 766
39.1.4 列出包含的文件 766
39.1.5 指定打包选项 766
39.1.6 指定安装标题 767
39.1.7 指定工作组与项目 767
39.1.8 调整安装位置 767
39.1.9 指定共享文件 767
39.1.10 完成并储存脚本 767
39.2 设计自定义风格的安装程序 768
39.3 添加卸载功能 769
39.4 解决打包过程中的常见问题 769
39.4.1 如何打包文件夹 769
39.4.2 在打包文件时要将系统附加文件添加完全 770
39.4.3 解决在安装应用程序时提示的错误信息 770
39.4.4 解决在打包应用程序时没有访问权限的问题 770
39.4.5 如何调整打包文件的位置 770
39.4.6 如何修改安装程序的目录 771
39.4.7 解决安装文件的过期问题 771
39.5 安装应用程序 771
实例索引 772