译者序 1
前言 1
第1章 Visual Basic概述 1
1.1 创建一个Visual Basic工程文件 1
1.1.1 设计Tic-Tac-Toe程序 3
1.1.2 编写Tic-Tac-Toe程序代码 4
1.2 Visual Basic工程文件的组成 6
1.2.1 窗体 6
1.2.2 模块 6
1.2.3 全局项 7
1.3 工程作用域 7
1.3.1 变量作用域 7
1.3.2 过程作用域 8
1.4 工程存盘 9
1.4.1 工程文件 10
1.4.2 工作文件 11
1.4.3 窗体文件 12
1.4.4 模块文件 16
1.5 使用 Visual Basic Application Wizard 17
1.6.1 变量作用域前缀 21
1.6.2 变量前缀 21
1.6 Visual Basic程序设计约定 21
1.6.3 控件前缀 22
1.6.4 菜单和常量前缀 24
1.7 代码注释约定 25
1.8 Visual Basic中的最佳编程 25
1.8.1 程序设计语言 26
1.8.2 编写能够充分发挥Visual Basic潜力的代码 27
1.9 继续深入学习 28
第2章 Visual Basic开发环境 29
2.1 综述 29
2.2 快捷方案 34
2.2.1 选择IDE颜色、字体及字号 34
2.2.2 多个控件的对齐、大小调整和间隔距离 35
2.2.3 设置一个启动窗体或过程 37
2.2.4 使用Visual Basic预定义窗体、菜单及工程 39
2.2.5 设置工程版本信息 41
2.2.6 设置EXE文件的名称及图标 42
2.2.7 显示Debug、Edit和Form Editor工具栏 43
2.2.8 打开或关闭界限检查 44
2.2.9 Pentium错检查 46
2.2.10 管理Add-In 46
2.2.11 为工程添加ActiveX控件和可插入的对象 47
2.2.12 定制菜单和工具栏 47
2.2.13 设置窗体的最初位置 49
2.2.14 使Quick Info、Auto List Members、Data Tips 及Syntax Checking有效或无效 49
2.2.15 显示或隐藏IDE窗口 51
2.2.16 查找一个完整工程中的特殊文本或变量的定义 52
2.2.17 优化Fast Code、Small Code 或特殊处理器 53
2.2.18 添加和删除窗体、模块及类模块 54
2.2.19 添加ActiveX编辑器 55
2.2.20 使用书签 55
2.2.21 使用对象浏览器 56
第3章 Visual Basic语言 57
3.1 综述 57
3.2 快捷方案 58
3.2.1 声明常量 58
3.2.2 声明变量 59
3.2.3 选择变量类型 60
3.2.4 数据类型之间的转换 61
3.2.5 设置变量范围 62
3.2.6 认证数据类型 63
3.2.7 声明数组和动态数组 64
3.2.8 声明子程序 65
3.2.9 声明函数 66
3.2.10 在过程调用时保持变量的值 67
3.2.11 处理字符串 68
3.2.12 字符串与数字的互相转换 69
3.2.13 处理操作符和操作过程 69
3.2.14 使用If匛ise语句 70
3.2.15 使用Select Case 71
3.2.16 使用Switch()和Choose()作出选择 72
3.2.17 循环 73
3.2.18 使用集合 75
3.2.19 给其他的程序发送按键消息 75
3.2.20 处理高等数学 77
3.2.21 处理日期和时间 78
3.2.22 处理金融数据 78
3.2.23 在任意时刻结束程序 79
4.1 综述 80
4.1.1 窗体的组件 80
第4章 Visual Basic的窗体管理 80
4.2 快捷方案 81
4.2.1 设置标题栏文本 81
4.1.2 MDI窗体的组件 81
4.2.2 添加(删除)、最小(大)化按钮以及设置窗口的边界 82
4.2.3 为窗体添加工具栏 83
4.2.4 为窗体添加状态栏 85
4.2.5 指明当前窗体 87
4.2.6 重写窗体内容 87
4.2.7 设置控件Tab顺序 88
4.2.8 从代码中控制控件的移动和尺寸大小 89
4.2.9 在一个窗体中显示或隐藏控件 89
4.2.10 窗体的度量 90
4.2.11 运用多窗体 90
4.2.12 装入、显示及隐藏窗体 92
4.2.13 设置启动窗体 93
4.2.14 在代码中创建窗体 93
4.2.15 使用多文档界面 94
4.2.16 安排MDI子窗口 95
4.2.17 打开新的MDI子窗口 96
4.2.18 窗体数组 97
4.2.19 调整MDI子窗体(文档视图)之间的数据 97
4.2.20 创建对话框 99
4.2.21 关于消息框和输入框 101
4.2.22 给过程传输窗体 102
4.2.23 有代码最小化/最大化和激活/关闭窗体 102
第5章 Visual Basic的菜单 104
5.1 综述 104
5.2 快捷方案 105
5.2.1 使用Visual Basic应用向导创建自己的菜单 105
5.2.2 不同菜单中的各种选项 111
5.2.3 在窗体中添加菜单 113
5.2.4 修改及删除菜单项 115
5.2.5 添加菜单分隔条 115
5.2.6 增设访问键 116
5.2.7 增设快捷键 117
5.2.8 创建子菜单 119
5.2.9 创建立即菜单 120
5.2.10 使用Visual Basic的预定义菜单 121
5.2.11 为菜单项设置复选标志 123
5.2.12 使菜单项无效 124
5.2.13 处理MDI窗体和MDI子窗体 125
5.2.14 在MDI窗体的“Window”菜单中添加打开窗口的列表 126
5.2.15 使菜单和菜单项可见或不可见 127
5.2.16 创建并显示弹出式菜单 127
5.2.17 在运行时添加或删除菜单项 129
5.2.18 在菜单中添加位图 131
5.2.19 用注册表存储最近使用过的(MRU)文件列表 133
第6章 文本框与富文本框 136
6.1 综述 136
6.2.1 创建可以自动换行的多行文本框 137
6.2.2 在文本框中排列文本 137
6.2 快捷方案 137
6.2.3 在文本框中添加滚动条 138
6.2.4 生成只读文本框 138
6.2.5 访问文本框中的文本 139
6.2.6 文本框中文本的选定和替换 140
6.2.7 将选中的文本复制到剪贴板上或从剪切板上获得选中的文本 140
6.2.8 创建一个口令控件 141
6.2.9 控制文本框中控制的内容输入 142
6.2.10 在窗体中添加RTF框 142
6.2.11 在富文本框中访问文本 143
6.2.12 在富文本框中选中文本 143
6.2.13 使用粗体、斜体、下划线和横截线 144
6.2.14 在富文本框中缩进文本 145
6.2.15 在富文本框中设置字体和字号 146
6.2.16 在富文本框中使用加重点 147
6.2.17 在富文本框中排列文本 148
6.2.18 在RTF框中设置文本颜色 148
6.2.19 在RTF框中移动插入点 149
6.2.20 在富文本框中添加上角标与下角标 150
6.2.21 在文本框和富文本框中设置鼠标光标 151
6.2.22 在RTF框中查找(与替换)文本内容 151
6.2.23 保存富文本框中的RTF文件 152
6.2.24 把RTF文件读入富文本框 153
6.2.25 打印富文本框中的内容 153
第7章 命令按钮、复选框及选项按钮 154
7.1 综述 154
7.2.1 设置按钮的标题 155
7.2.2 设置按钮的背景颜色 155
7.2 快捷方案 155
7.2.3 设置按钮的文本颜色 156
7.2.4 设置按钮字体 157
7.2.5 单击按钮的响应 157
7.2.6 创建按钮控件数组 158
7.2.7 单击按钮后重新设置焦点 159
7.2.8 设置按钮访问键 159
7.2.9 设置按钮Tab次序 160
7.2.10 使按钮无效 160
7.2.11 显示及隐藏按钮 161
7.2.12 为按钮添加工具提示 161
7.2.13 在代码中重新设置按钮大小和移动按钮 162
7.2.14 在按钮上添加图片 162
7.2.15 为按钮添加Down图片 163
7.2.16 在运行时添加按钮 164
7.2.17 向过程传递按钮 164
7.2.18 处理按钮的释放 165
7.2.19 使命令按钮成为“Cancel”按钮 165
7.2.20 获取复选框状态 166
7.2.21 设置复选框状态 166
7.2.22 将选项按钮分组 167
7.2.23 获取选项按钮状态 167
7.2.24 设置选项按钮状态 168
7.2.25 使用图形复选框和单选按钮 168
7.2.26 同时使用复选框和选项按钮 169
第8章 列表框和组合框 171
8.1 综述 171
8.2 快捷方案 172
8.2.1 为列表框添加列表项 172
8.2.2 使用索引导引用列表框中的列表项 173
8.2.3 响应列表框事件 174
8.2.4 从列表框中删除列表项 174
8.2.5 排列列表框中的列表项 175
8.2.6 判定列表框中列表项的个数 175
8.2.7 判定列表框中的选项是否已被选中 176
8.2.8 使用多选列表框 177
8.2.9 使列表框具有水平滚动功能 178
8.2.10 在列表框中使用复选框 179
8.2.12 创建简单组合框、上拉组合框及下拉组合列表框 180
8.2.13 为组合框添加选项 180
8.2.11 清空列表框 180
8.2.14 对组合框选择的响应 181
8.2.15 删除组合框中的选项 182
8.2.16 获取组合框中的当前选项 183
8.2.17 排列组合框中的列表项 184
8.2.18 清空组合框 184
8.2.19 锁定组合框 185
8.2.20 获取组合框中选项的数目 185
8.2.21 设置列表框或组合框中的最高选项 186
8.2.22 为列表框或组合框中的选项添加数字数据 187
8.2.23 在已排序的列表框或组合框中判定添加项的位置 188
8.2.24 在组合框中使用图像 188
第9章 滚动条和滑轨 190
9.1 综述 190
9.2.2 设置滚动条的最小和最大值 192
9.2.1 在窗体中添加水平或垂直滚动条 192
9.2.3 建立滚动条的Clicks(较大变化) 192
9.2 快捷方案 192
9.2.4 建立滚动条箭头的Clicks(较小变化) 193
9.2.5 获取滚动条的当前值 193
9.2.6 处理滚动条事件 194
9.2.7 处理持续的滚动条事件 195
9.2.8 显示和隐藏滚动条 196
9.2.9 协调滚动条对的使用 196
9.2.10 为文本框添加滚动条 197
9.2.11 创建并使用平坦滚动条 197
9.2.12 定制平坦滚动条箭头 198
9.2.13 创建滑轨控件 199
9.2.14 设置滑轨的方向 199
9.2.15 设置滑轨的范围 200
9.2.16 创建滑轨槽上的Clicks 200
9.2.17 在滑轨中添加小格 201
9.2.18 设置滑轨的小格风格 201
9.2.19 获取滑轨的当前值 202
9.2.20 处理滑轨事件 202
9.2.21 处理持续的滑轨事件 203
9.2.22 处理滑轨的选择 204
9.2.23 清除滑轨中的选择 206
9.2.24 创建Updown控件 206
9.2.25 设置Updown控件的最小值和最大值 207
9.2.26 处理Updown事件 207
10.1 综述 208
10.1.1 图像控件 208
第10章 图片框和图像控件 208
10.1.2 图片框 209
10.2.1 在窗体上添加图片框 210
10.2.2 在图片框中设置或获取图片 210
10.2 快捷方案 210
10.2.3 调整图片框的尺寸 211
10.2.4 排列窗体中的图片框 211
10.2.5 处理图片框事件(创建图像映射) 212
10.2.6 用图片框制作动画 213
10.2.7 在图片框中组合其他控件 214
10.2.8 在MDI窗体中使用图片框 215
10.2.9 在图片框中画直线和圆 215
10.2.10 在图片框中使用图像列表 217
10.2.11 在图片框中添加文本 218
10.2.12 在图片框中格式化文本 219
10.2.13 清除图片框 220
10.2.14 在图片框中访问单个的像素 220
10.2.15 复制图片到剪切板并粘贴 221
10.2.16 在图片框中缩放或旋转图像 222
10.2.17 打印图片 223
10.2.18 使用图片框句柄 223
10.2.19 在图片框中设置度量比例 224
10.2.20 保存图片 225
10.2.21 在窗体中添加图像控件 225
10.2.22 在图像控件中图像的缩放 226
第11章 标准对话框 227
11.1 综述 227
11.2 快捷方案 228
11.2.1 创建并显示Windows标准对话框 228
11.2.2 设置标准对话框的主题 229
11.2.3 用户能单击OK或Cancel吗? 230
11.2.4 使用颜色对话框 231
11.2.5 设置颜色对话框标志 232
11.2.6 使用打开或另存为对话框 232
11.2.7 设置打开和另存为标志 233
11.2.8 在打开和另存为对话框中获得文件名 234
11.2.10 设置默认的文件扩展名 235
11.2.11 设置或获取初始目录 235
11.2.9 在打开和另存为对话框中设置文件名最大长度 235
11.2.12 在打开和另存为对话框中设置文件类型(过滤器) 236
11.2.13 使用字体对话框 237
11.2.14 设置字体对话框标志 239
11.2.15 设置最大和最小字体尺寸 240
11.2.16 使用打印对话框 241
11.2.17 设置打印对话框标志 242
11.2.18 设置打印的最小和最大页 243
11.2.19 设置打印页方向 243
11.2.20 从Visual Basic程序中显示Windows帮助信息 244
12.1 综述 246
12.1.1 图表控件 246
第12章 图表和网格控件 246
12.1.2 网格控件 247
12.2 快捷方案 248
12.2.1 在程序中添加图表控件 248
12.2.2 在图表控件中添加数据 249
12.2.3 处理复杂的数据系列 251
12.2.4 设置图表、坐标轴的标题和图表颜色 253
12.2.5 创建饼图 253
12.2.6 创建二维和三维线型图表 254
12.2.7 创建二维和三维域型图表 256
12.2.8 创建二维和三维条形图 257
12.2.9 创建二维和三维阶梯图 258
12.2.10 创建二维和三维联合图表 259
12.2.11 在程序中添加Flex网格控件 260
12.2.12 处理Flex网格控件中的数据 261
12.2.13 给Flex网格输入数据 264
12.2.14 设置Flex网格的网格线和边框类型 266
12.2.15 在Flex网格中标注行和列 266
12.2.17 Flex网格控件的分类 267
12.2.18 在Flex网格控件中拖动列 267
12.2.16 格式化Flex网格单元 267
12.2.19 连接Flex网格与数据库 268
13.1 综述 270
13.1.1 计时器控件 270
第13章 计时器和串行通信控件 270
13.1.2 通信控件 271
13.1.3 Month View和Data TimePicker控件 272
13.2.1 在程序中添加计时器控件 273
13.2.2 初始化计时器控件 273
13.2 快捷方案 273
13.2.3 处理Timer事件 274
13.2.4 格式化时间和日期 274
13.2.5 创建时钟程序 275
13.2.6 创建秒表 276
13.2.7 创建定时时钟 277
13.2.8 用计时器控件创建动画 278
13.2.9 在程序中添加通信控件 280
13.2.10 设置接收和发送缓冲器 280
13.2.12 调制解调器的使用 281
13.2.13 利用通信控件读取数据 281
13.2.11 打开串行口 281
13.2.14 利用通信控件发送数据 282
13.2.15 建立通信握手信号 282
13.2.16 处理通信事件 283
13.2.18 在程序中添加Month View(月历)控件 284
13.2.19 从Month View控件中获取日期 284
13.2.17 关闭串行口 284
13.2.20 在程序中添加Data Time Picker控件 285
13.2.21 使用Data Time Picker控件 286
14.1 综述 287
14.1.1 框架控件 287
第14章 框架、标签、形状和线形控件 287
14.1.2 标签控件 288
14.1.3 形状控件 288
14.2 快捷方案 289
14.1.5 窗体的作图方法 289
14.2.1 在程序中添加框架 289
14.1.4 线形控件 289
14.2.2 设置框架的尺寸和位置 290
14.2.3 拖放控件 290
14.2.4 在框架中对控件分组 292
14.2.5 在程序中添加标签 292
14.2.6 用标签替代文本框 293
14.2.7 标签中的文本格式 294
14.2.9 处理Lable控件事件 294
14.2.10 使用标签给没有标题的控件提供快捷键 295
14.2.11 在程序中添加Shape控件 295
14.2.12 画矩形 296
14.2.13 画正方形 296
14.2.16 画圆角矩形 297
14.2.15 画圆形 297
14.2.17 画圆角正方形 297
14.2.14 画椭圆形 297
14.2.18 设置形状边框:线窗、点线和虚线 298
14.2.19 填充图形 298
14.2.20 在没有IDE网格的情况下画图形 299
14.2.21 在运行期间移动形状 299
14.2.22 在程序中添加Line控件 300
14.2.23 画粗线、点线和虚线 300
14.2.24 在没有IDE网格的情况下画直线 301
14.2.25 在运行期间更改Line控件 301
14.2.26 用窗体方法来画直线 302
14.2.27 用窗体方法画圆 303
14.2.28 用窗体方法画椭圆 303
15.1 综述 305
15.1.1 工具栏 305
第15章 工具栏、状态栏、进度栏和Coolbars 305
15.1.2 状态栏 306
15.1.3 进度栏 306
15.2 快捷方案 307
15.2.1 在窗体中添加工具栏 307
15.1.4 Coolbars 307
15.2.2 在窗体中对齐工具栏 308
15.2.3 在工具栏中添加按钮 309
15.2.4 处理工具栏按钮的单击事件 309
15.2.5 将工具栏按钮连接到菜单选项 310
15.2.6 在工具栏中添加分隔符 311
15.2.7 在工具栏按钮中添加图像 312
15.2.8 在工具栏中添加复选(切换)按钮/ 313
15.2.9 在工具栏中创建按钮组 314
15.2.10 在工具栏中添加组合框和其他控件 315
15.2.11 设置工具栏按钮的工具提示 316
15.2.12 让用户自己定制工具栏 317
15.2.13 在程序运行时添加工具栏按钮 317
15.2.14 在程序中添加状态栏 318
15.2.15 在窗体中放置状态栏 318
15.2.16 给状态栏添加窗格 319
15.2.17 在状态栏中显示文字 319
15.2.18 在状态栏中显示时间、日期和按键状态 320
15.2.19 定制状态栏窗格的外观 321
15.2.20 在状态栏中显示图像 321
15.2.21 处理窗格单击事件 322
15.2.22 在程序运行期间给状态栏添加新的窗格 322
15.2.23 创建简单状态栏 323
15.2.24 给窗体添加进度栏 323
15.2.25 使用进度栏 324
15.2.27 在窗体中定位Coolbar 325
15.2.28 给Coolbar添加带区 325
15.2.26 给窗体添加Coolbar 325
15.2.29 给Coolbar带区添加控件 326
15.2.30 处理Coolbar控件事件 327
16.1 综述 328
16.1.1 图像列表 328
第16章 图像列表、树状浏览器、列表浏览器和选项卡条控件 328
16.1.2 树状浏览器 329
16.1.3 列表浏览器 330
16.1.4 选项卡条 330
16.2.1 在窗体中添加图像列表 331
16.2.2 在图像列表中添加图像 331
16.2 快捷方案 331
16.2.3 在图像列表中使用图像 332
16.2.4 在图像列表中设置图像的关键字 333
16.2.5 在窗体中添加树状浏览器 333
16.2.7 在树状浏览器中添加节点 334
16.2.8 在树状浏览器中添加子节点 334
16.2.6 选择树状浏览器样式 334
16.2.9 在树状浏览器中添加图像 337
16.2.10 展开和折叠节点(同时设置合适的节点图像) 338
16.2.11 处理树状浏览器节点的单击 339
16.2.12 在窗体中添加列表浏览器 339
16.2.13 在列表浏览器中添加项目 340
16.2.14 在列表浏览项目中添加图标 341
16.2.15 在列表浏览器项目中添加小图标 342
16.2.16 在列表浏览器中选择浏览方式 343
16.2.17 在列表浏览器中添加纵栏标题 344
16.2.18 在列表浏览器中添加纵栏字段 345
16.2.19 处理列表浏览器项目的单击 347
16.2.20 处理列表浏览器纵栏标题的单击 347
16.2.21 在窗体中添加选项卡条 348
16.2.22 在选项卡条控件中插入选项卡 348
16.2.23 设置选项卡的标题 349
16.2.24 设置选项卡图像 350
16.2.25 用选项卡条显示其他控件 351
16.2.26 处理选项卡的单击 351
17.1 综述 353
17.1.1 顺序存取文件 353
第17章 文件处理和文件控件 353
17.1.3 二进制文件 354
17.1.4 文件系统对象 354
17.1.2 随机存取文件 354
17.2 快捷方案 355
17.2.1 使用打开文件和转存文件的标准对话框 355
17.2.2 创建文件 356
17.2.3 获得文件长度 358
17.2.4 打开文件 359
17.2.5 写入一个顺序文件 360
17.2.6 写入一个随机存取文件 361
17.2.7 写入一个二进制文件 362
17.2.9 读随机存取文件 365
17.2.10 读二进制文件 367
17.2.12 关闭文件 369
17.2.13 在RTF类型文本框中保存文件 369
17.2.11 在一个随机存取文件中存取记录 369
17.2.14 在RTF类型文本框中打开文件 370
17.2.15 在图片框中保存文件 370
17.2.16 在图片框中打开文件 371
17.2.18 使用目录列表框控件 372
17.2.19 使用文件列表框控件 372
17.2.17 使用驱动器列表框控件 372
17.2.20 建立和删除目录 374
17.2.21 改变目录 374
17.2.22 拷贝文件 375
17.2.23 移动文件 375
17.2.24 删除文件 376
17.2.25 文件建立时间、最后修改日期、最后存取时间是什么? 376
17.2.26 建立文本流 377
17.2.27 打开文本流 377
17.2.28 写入文本流 378
17.2.29 读文本流 378
17.2.30 关闭文本流 379
18.1.1 图形方法与图形控件 380
18.1 综述 380
18.1.2 关于Visual Basic的坐标系 380
第18章 图形的处理 380
18.2 快捷方案 381
18.2.1 在Windows中重绘图形:AutoRedraw和Paint 381
18.2.2 清除绘图区域 382
18.2.3 设置颜色 382
18.2.4 绘制文本 384
18.2.5 字体的处理 384
18.2.6 画直线 386
18.2.7 画方框 387
18.2.8 画圆 388
18.2.9 画椭圆 389
18.2.10 画弧线 390
18.2.11 用鼠标徒手画图 391
18.2.12 填充图形颜色 392
18.2.13 给图形填充图案 393
18.2.14 设置图形中画线的风格和宽度 394
18.2.15 画点 395
18.2.16 设置绘图模式 395
18.2.17 设置绘图缩放比例 396
18.2.18 使用屏幕对象 397
18.2.19 当窗口调整时调整图形 398
18.2.20 拷贝图片到剪贴板中并从剪贴板粘贴图片 398
18.2.21 打印图形 399
18.2.22 用AutoRedraw和ClipControis属性分层绘图 400
19.1.1 图片框与图像控件 401
19.1 综述 401
19.1.2 图像效果:逐位处理图像 401
第19章 图像的处理 401
19.2.1 向控件中加载图像 402
19.2.2 向窗体中加载图像 402
19.2 快捷方案 402
19.2.3 使用图像控件 403
19.2.6 运行时加载图像 404
19.2.5 自动调整图片框 404
19.2.7 清除(擦除)图像 404
19.2.4 使用图片框 404
19.2.8 用图片对象在内存中存储图像 405
19.2.9 使用图片对象数组 406
19.2.10 向程序中加入图片剪贴控件 407
19.2.11 用坐标在图片剪贴控件中选择图像 408
19.2.12 用行和列在图片剪贴控件中选择图像 411
19.2.13 翻转图像 412
19.2.14 扩展图像 413
19.2.15 生成图像动画 414
19.2.16 逐位处理图像 415
19.2.17 生成灰度图像 417
19.2.18 加亮图像 418
19.2.19 创建“浮雕”图像 420
19.2.20 创建“雕刻”图像 421
19.2.21 抖动图像 422
19.2.22 模糊图像 423
19.2.23 释放图形占用的内存 424
20.1 综述 425
20.1.1 关于ActiveX的所有组件 425
第20章 创建ActiveX控件与文档 425
20.1.2 进程内与进程外组件 426
20.1.3 想建立哪一类ActiveX组件? 426
20.2 快捷方案 427
20.2.1 创建一个ActiveX控件 427
20.2.2 从头设计一个ActiveX控件 428
20.2.3 产生永久图形的ActiveX控件 430
20.2.4 在存在的Visual Basic控件中建立ActiveX控件 430
20.2.5 在ActiveX控件内处理组成控件事件 431
20.2.6 向一个ActiveX控件中添加控件(计算器ActiveX控件) 432
20.2.7 测试ActiveX控件 433
20.2.8 创建一个Visual Basic工程组测试ActiveX控件 434
20.2.9 注册ActiveX控件 434
20.2.10 在Visual Basic程序里使用定制的ActiveX控件 435
20.2.11 添加ActiveX控件的属性 436
20.2.12 永久化的ActiveX控件属性(属性包对象) 440
20.2.13 给ActiveX控件加载方法 442
20.2.14 向ActiveX控件中添加事件 445
20.2.15 加载设计时间属性页 447
20.2.16 创建ActiveX文档 448
20.2.17 ActiveX文档DLL与EXE 450
20.2.18 给ActiveX文档加载控件(一个Tic-Tac-Too例) 450
20.2.20 测试ActiveX文档 454
20.2.21 创建Visual Basic外运行的ActiveX文档 454
20.2.19 处理ActiveX文档里的组成控件事件 454
20.2.22 分布式计算:ActiveX文档和集成浏览器 455
20.2.23 ActiveX文档属性的永久化(属性包对象) 456
21.1.2 创建动态HTML页 458
21.1.1 创建一个Web浏览器 458
21.1.3 处理电子邮件 458
21.1 综述 458
第21章 Visual Basic与Internet:Web浏览、Email、HTTP、FTP及DHTML 458
21 2 快捷方案 459
21.1.5 使用HTTP 459
21.2.1 创建Web浏览器 459
21.1.4 使用FTP 459
21.2.2 在Web浏览器里定义URL 460
21.2.3 给Web浏览器加载Back和Forward按钮 463
21.2.4 给Web浏览器加载Refresh、Home和Stop按钮 464
21.2.5 创建DHTML页 465
21.2.6 给DHTML页加载文本 467
21.2.7 给DHTML页加载图像 468
21.2.8 向DHTML页添加HTML控件 469
21.2.9 给DHTML页加载ActiveX控件 471
21.2.12 使用支持Email的MAPI控件 471
21.2.10 给DHTML页加载表格 472
21.2.11 给DHTML页加载超文本链接 473
21.2.13 从Visual Basic中发送电子邮件 476
21.2.14 读取Visual Basic中的电子邮件 480
21.2.15 为FTP和HTTP操作使用Intternet传输控件 481
21.2.16 处理Visual Basic中的FTP操作 482
21.2.17 处理Visual Basic中的HTTP操作 486
22.1.1 多媒体MCI控件 489
22.1 综述 489
22.1.2 在代码中使用多媒体控件 489
第22章 多媒体 489
22.2 快捷方案 490
22.2.1 使用动画控件 490
22.2.2 给程序添加一个多媒体控件 491
22.2.3 设置设备类型并打开该设备 491
22.2.4 设置文件信息并打开文件 492
22.2.5 设置多媒体控件的时间格式 493
22.2.6 从代码中控制多媒体控件 494
22.2.7 停止和暂停多媒体控件 495
22.2.8 显示多媒体控件的播放状态 495
22.2.9 关闭多媒体控件 497
22.2.10 在CD-ROM驱动器中播放CD 498
22.2.11 播放WAV文件 499
22.2.12 播放MID文件 501
22.2.13 播放AVI文件 502
22.2.14 播放MPG文件 504
22.2.15 使用通知来报告跟踪多媒体命令的执行情况 505
22.2.16 处理多媒体错误 506
22.2.17 多媒体控件中的逐帧前进或后退 509
22.2.18 多媒体控件中的段落播放 509
22.2.19 让多媒体控件等待 510
22.2.20 多媒体控件之外的多媒体操作 510
23.1 综述 512
23.1.1 在Visual Basic中声明和使用DLL的过程 512
第23章 连接Windows API和 Visual C++ 512
23.1.2 处理C/C++和Windows数据类型 513
23.1.3 Windows API的用途 515
23.2 快捷方案 516
23.2.1 获取或创建一个设备描述体(包含整个屏幕) 516
23.2.2 在设备描述体中绘制直线 517
23.2.3 在设备描述体中绘制椭圆 518
23.2.4 在设备描述体中绘制矩形 519
23.2.5 设置绘图的色彩和样式(使用画笔) 520
23.2.6 设置绘图模式(ROP2) 522
23.2.7 处理程序窗口外的鼠标 522
23.2.8 在设备描述体之间快速拷贝位图 525
23.2.9 从屏幕上捕获图像 526
23.2.10 获取屏幕上任意窗口的窗口句柄 530
23.2.11 获取窗口的文本 532
23.2.12 用API函数播放声音 533
23.2.13 分配内存和储存数据 534
23.2.14 从内存或分配的内存中读取数据 537
23.2.15 创建一个首页窗口 538
23.2.16 计算剩余和总共的磁盘空间 540
23.2.17 查看Windows目录 541
23.2.18 与Visual C++的连接 543
24.1 综述 546
24.1.1 什么是数据库? 546
第24章 数据库:使用DAO、RDO和ADO 546
24.1.2 DAO 548
24.1.3 RDO 549
24.1.4 ADO 549
24.1.5 数据约束控件 550
24.2 快捷方案 551
24.2.1 利用可视数据管理器创建和管理数据库 551
24.2.2 利用可视数据管理器创建表格 552
24.2.3 利用可视数据管理器创建字段 552
24.2.4 利用可视数据管理器在数据库中输入数据 553
24.2.5 增添数据控件到应用程序上 554
24.2.6 使用数据控件打开数据库 555
24.2.7 连接数据控件到约束控件上 555
24.2.8 注册一个ODBC源 556
24.2.9 用远程数据控件打开数据库 557
24.2.10 连接远程数据控件到约束控件上 557
24.2.11 利用ADO数据控件打开数据库 558
24.2.12 连接ADO数据控件到约束控件上 559
24.2.13 数据窗体向导:创建一个数据窗体 559
24.2.14 使用数据控件的方法:增添、删除和修改记录 561
24.2.15 增添数据库记录 561
24.2.18 更新一个已变化的数据库 562
24.2.17 刷新数据控件 562
24.2.19 移向下一个记录 562
24.2.16 删除数据库记录 562
24.2.22 移向最后一个记录 563
24.2.21 移向第一个记录 563
24.2.23 数据-约束控件:从文本框到自山网格 563
24.2.20 移向前一个记录 563
24.2.24 ADO数据-约束控件 564
25.1.1 DAO 566
25.1 综述 566
25.1.2 RDO 566
第25章 以编码方式使用数据库对象 566
25.2.1 DAO应用实例 567
25.2 快捷方案 567
25.2.2 使用Daocode实例创建和编辑一个数据库 567
25.1.3 ADO 567
25.2.3 DAO:创建一个数据库 568
25.2.4 DAO:使用Table Def对象创建一个表格 569
25.2.5 DAO:向一个TableDef对象中添加字段 570
25.2.6 DAO:增添一个索引到TableDef对象上 571
25.2.7 DAO:创建一个记录集 572
25.2.8 DAO:打开一个数据库 574
25.2.10 DAO:编辑记录集中的记录 576
25.2.11 DAO:更新记录集中的记录 576
25.2.9 DAO:增添一个记录到记录集上 576
25.2.13 DAO:移向记录集中的最后一个记录 577
25.2.14 DAO:移向记录集中的下一个记录 577
25.2.12 DAO:移向记录集中的第一个记录 577
25.2.15 DAO:移向记录集的前一个记录 578
25.2.17 DAO:将记录集分类 579
25.2.18 DAO:寻找一个记录集 579
25.2.16 DAO:删除记录集中的一个记录 579
25.2.19 DAO:执行SQL 580
25.2.20 RDO应用实例 581
25.2.21 RDO:打开一个连接 582
25.2.22 RDO:创建一个结果集 583
25.2.23 RDO:移向结果集的第一个记录 584
25.2.24 RDO:移向结果集的最后一个记录 585
25.2.25 RDO:移向结果集的下一个记录 585
25.2.26 RDO:移向结果集的前一个记录 586
25.2.28 ADO应用实例 587
25.2.29 ADO:打开一个连接 587
25.2.27 RDO:执行SQL 587
25.2.30 ADO:从连接中创建一个记录集 588
25.2.31 ADO:将控件捆绑到记录集上 589
25.2.33 ADO:刷新记录集 590
25.2.34 ADO:更新记录集中的一个记录 590
25.2.32 ADO:在记录集中增添一个记录 590
25.2.35 ADO:移向记录集的第一个记录 591
25.2.36 ADO:移向记录集的最后一个记录 591
25.2.38 ADO:移向记录集的前一个记录 592
25.2.39 ADO:删除记录集中的一个记录 592
25.2.37 ADO:移向记录集的下一个记录 592
25.2.40 ADO:在记录集中执行SQL 593
第26章 OLE 595
26.1 综述 595
26.2 快捷方案 597
26.2.1 为窗体添加一个OLE控件 597
26.2.2 在设计时创建并嵌入一个OLE对象 598
26.2.3 在设计时链接或嵌入一个已存在的文档 598
26.2.4 自动调整OLE控件的尺寸 599
26.2.5 确定如何显示OLE容器控件中的对象 599
26.2.6 在设计时使用OLE控件的弹出式菜单 600
26.2.7 运行时在OLE控件中插入OLE对象 600
26.2.8 关闭OLE对象 602
26.2.9 使用Paste Special(特殊粘贴)在OLE控件中插入文档选中的部分 603
26.2.10 怎样在程序中激活OLE对象 606
26.2.11 使用列出所有OLE verb的弹出式菜单激活OLE对象 606
26.2.12 从代码中激活OLE对象 607
26.2.13 链接对象还是嵌入对象 608
26.2.14 处理多OLE对象 608
26.2.15 使用OLE控件数组处理多OLE对象 609
26.2.16 运行时装入新的OLE控件 612
26.2.17 在窗体中拖动OLE对象 616
26.2.18 删除OLE对象 617
26.2.19 使用剪贴板复制和粘贴OLE对象 617
26.2.20 缩放OLE对象 618
26.2.21 保存和恢复嵌入对象的数据 619
26.2.22 处理OLE对象的Updated事件 620
26.2.23 使立即编辑无效 620
27.1 综述 621
27.1.1 代码部件:类和对象 621
第27章 创建代码部件(OLE自动化) 621
27.1.2 代码部件和线程 622
27.2 快捷方案 623
27.2.1 在客户应用程序中使用代码部件 623
27.2.2 在类中创建对象 625
27.2.3 使用代码部件的属性和方法 626
27.2.4 创建代码部件 626
27.2.5 设置代码部件的工程类型:内进程或外进程 628
27.2.6 给代码部件加载属性 629
27.2.7 给代码部件加载Get/Let属性 629
27.2.8 给代码部件加载方法 632
27.2.9 给代码部件方法传递参数 632
27.2.10 给代码部件方法传递可选择的参数 634
27.2.11 用Visual Basic的第二范例测试代码部件 635
27.2.13 创建并注册外进程代码部件 637
27.2.14 使用类的Initialize事件 637
27.2.12 创建并注册内进程代码部件 637
27.2.15 使用类的Terminate事件 638
27.2.16 全局对象:不创建对象而使用代码部件 638
27.2.17 毁坏代码部件对象 639
27.2.18 在代码部件中使用窗体 639
27.2.19 在代码部件中创建对话框 640
27.2.20 设计多线程的内进程部件 641
27.2.21 设计多线程的外进程部件 641
第28章 先进的窗体、控件和Windows注册高级处理 642
28.1 综述 642
28.1.1 拖放和OLE拖放 643
28.1.2 Windows注册 643
28.2.1 传递控件给过程 644
28.2.2 传递控件数组给过程 644
28.2 快捷方案 644
28.2.3 决定活动的控件 645
28.2.4 运行中决定控件类型 645
28.2.5 运行中创建/加载新控件 646
28.2.6 改变用Tab控制的光标跳动顺序 647
28.2.7 用Z-Order改变控件堆栈位置 648
28.2.8 拖动/放置:拖动控件 648
28.2.9 拖动/放置:放置控件 649
28.2.10 处理拖动和放置时“自放置”的问题 652
28.2.11 拖动/放置:处理DragOver事件 653
28.2.12 OLE 拖动/放置:拖动数据 653
28.2.13 OLE拖动/放置:放置数据 655
28.2.14 LOE拖动/放置:报告拖放结果 658
28.2.15 使用“轻权”控件 659
28.2.16 传递窗体到进程 659
28.2.17 确定激活窗体 660
28.2.19 使用窗体集合 661
28.2.20 设置窗体的启动位置 661
28.2.18 窗体对象的控件集合 661
28.2.23 使窗体静止 662
28.2.22 在控件读之前处理击键 662
28.2.24 显示模式窗体 662
28.2.21 使窗体图标不在Windows95的任务栏中出现 662
28.2.25 在Windows注册表中保存数值 663
28.2.26 从Windows注册表中获得值 663
28.2.27 获得所有注册表设置 664
28.2.28 删除某个注册表设置 664
第29章 错误处理与调试 665
29.1 综述 665
29.2 快捷方案 668
29.2.1 编写错误处理代码 668
29.2.2 使用On Error GoTo Label 671
29.2.3 使用On Error GoTo line# 672
29.2.3 使用On Error GoTo line# 672
29.2.4 使用On Error Resume Next 673
29.2.5 使用On Error GoTo 0 674
29.2.6 在错误处理代码中使用Resume 语句 674
29.2.7 在错误处理代码中使用Resume Label语句 675
29.2.8 在错误处理代码中使用Resume Line#语句 676
29.2.9 在错误处理代码中使用Resume Next语句 677
29.2.10 获得错误的错误代码 678
29.2.11 获得错误描述 679
29.2.12 确定引发错误的源对象 679
29.2.13 处理DLL中的错误:LastDLLError属性 679
29.2.14 创建一个故意(用户自定义)错 680
29.2.15 嵌套的错误处理 681
29.2.16 在Visual Basic中直接创建错误对象 682
29.2.18 在Visual Basic中进行调试 684
29.2.17 通用对话框中可捕获的Cancel错误 684
29.2.19 设置调试断点 685
29.2.20 调试时的单步执行 686
29.2.21 检查变量和表达式 687
29.2.22 添加调试监视窗口 688
29.2.23 在调试时使用Immediate窗口 688
29.2.24 清除所有的调试断点 689
29.2.25 调试时使程序运行至光标处 689
29.2.26 调试时跳过语句 689
第30章 展开你的程序:创建安装程序、帮助文件以及在线注册 690
30.1 综述 690
30.1.1 安装程序 690
30.1.2 帮助文件 690
30.1.4 “Designed For Microsoft Windows”徽标 691
30.1.3 在线注册 691
30.2 快捷方案 692
30.2.1 创建应用程序的EXE文件 692
30.2.2 使用打包和展开向导 692
30.2.3 步骤1:打包类型 693
30.2.4 步骤2:建立文件夹 693
30.2.5 步骤3:文件 693
30.2.6 步骤4:发布类型 693
30.2.7 步骤5:安装标题 693
30.2.8 步骤6:图标 694
30.2.9 步骤7:安装位置 694
30.2.10 步骤8:共享文件 695
30.2.11 步骤9:完成 695
30.2.12 利用Microsoft Help Workshop创建帮助文件 695
30.2.13 创建帮助项目的RTF文件 697
30.2.14 在帮助文件中输入文本 698
30.2.15 创建帮助热区 698
30.2.16 创建帮助热区对象 700
30.2.17 给帮助页加标题 702
30.2.18 给帮助索引添加帮助主题 702
30.2.19 创建帮助的弹出式连接 703
30.2.20 创建帮助的“工具提示”目标 703
30.2.21 利用Help Workshop编译帮助文件 704
30.2.22 从Visual Basic中展开帮助文件 704
30.2.23 为应用程序建立在线帮助 706
30.2.24 创建在线用户注册 707
30.2.25 给FTP服务器上传在线注册信息 709
30.2.26 结束在线注册信息的FTP传送 710