前言页 1
第一章 Visual Basic 5.0入门 1
1.1 Visual Basic 5.0概述 1
1.1.1 Visual Basic 5.0版本简介 1
1.1.2 什么是Visual Basic 1
1.1.3 VB 5.0的安装 2
1.2 Visual Basic 5.0集成开发环境 4
1.2.1 启动 Visual Basic IDE 4
1.2.2 集成开发环境元素 5
1.2.3 环境选项 6
1.3 设计第一个VB应用程序 7
1.3.1 创建应用程序界面 7
1.3.2 设置属性 9
1.3.3 编写代码 10
1.4 小结 12
2.1.2 工程文件 13
2.1.1 工程资源管理器 13
第二章 工程的管理 13
2.1 什么是工程文件 13
2.2 工程文件的操作 14
2.2.1 创建、打开和保存工程 14
2.2.2 添加、删除和保存文件 15
2.3 生成可执行文件 16
2.4 向工程中添加控件 17
2.4.1 在工程中添加ActiveX控件 17
2.4.3 使用其它应用程序的对象 18
2.4.2 从工程中删除控件 18
2.4.4 使用资源文件 19
2.5 使用向导和外接程序 19
2.5.1 使用外接程序管理器 19
2.5.2 使用向导 20
2.6 小结 21
第三章 Visual Basic 5.0的基本语法 22
3.1 有关VB的一些基础知识 22
3.1.1 Visual Basic应用程序的结构 22
3.1.2 事件驱动应用程序的工作方式 23
3.1.3 开始编码之前 24
3.1.4 代码编写机制 26
3.2 VB的数据结构 30
3.2.1 基本数据类型 30
3.2.2 变量 37
3.2.3 常量 45
3.2.4 基本运算 46
3.2.5 数组 49
3.2.6 用户自定义类型和枚举类型 53
3.3 流程控制结构 59
3.3.1 判定结构 59
3.3.2 循环结构 62
3.3.3 使用控制结构 65
3.4 小结 67
4.1.1 子过程的创建 68
4.1.2 事件过程的创建 68
4.1 过程的创建 68
第四章 Visual Basic 5.0过程与函数 68
4.2 过程的调用 69
4.2.1 调用Sub过程 69
4.2.2 调用通用过程 69
4.3 过程的参数传递 70
4.3.1 参数的数据类型 70
4.3.2 按值传递参数 70
4.3.3 按地址传递参数 70
4.3.4 使用可选的参数 71
4.3.5 提供可选参数的缺省值 72
4.3.6 使用不定数量的参数 72
4.3.7 用命名的参数创建简单语句 73
4.3.8 确定对命名参数的支持 73
4.4 Exit Sub语句 73
4.5 函数的创建 74
4.6 函数的调用 75
4.7 Exit Function语句 75
5.1.3 选择文本 76
5.1.2 格式化文本 76
5.1.4 创建密码文本框 76
第五章 Visual Basic 5.0的标准控件 76
5.1 文本框控件 76
5.1.1 Text属性 76
5.1.5 取消文本框中的击键值 77
5.1.6 创建只读文本框 77
5.1.7 打印字符串中的引号 77
5.2 命令按钮控件 78
5.2.1 向窗体添加命令按钮 78
5.2.2 设置标题 78
5.2.3 创建键盘快捷方式 78
5.2.4 指定Default和Cancel属性 79
5.2.5 选定命令按钮 79
5.2.6 Value属性 79
5.2.7 Click事件 79
5.2.8 增强命令按钮的视觉效果 79
5.3.3 AutoSize和WordWrap属性 80
5.3.4 用标签创建访问键 80
5.3 标签控件 80
5.3.2 排列文本 80
5.3.1 设置标签的标题 80
5.4 复选框控件 81
5.4.1 Value属性 81
5.4.2 Click事件 82
5.4.3 响应鼠标和键盘 82
5.4.4 增强CheckBox控件的视觉效果 82
5.5 选项按钮控件 82
5.5.1 创建选项按钮组 83
5.5.2 运行时选择选项按钮 83
5.5.3 Click事件 83
5.5.4 Value属性 83
5.6 框架控件 84
5.5.7 增强OptionButton控件的视觉效果 84
5.6.1 向窗体添加Frame控件 84
5.5.6 禁止选项按钮 84
5.5.5 创建键盘快捷方式 84
5.6.2 在框架中绘制控件 85
5.6.3 在框架中选定多个控件 85
5.7 滚动条控件 85
5.7.1 Scroll Bar控件如何工作 86
5.7.2 Value属性 86
5.7.3 LargeChange和SmallChange属性 86
5.8 列表框控件 86
5.8.1 数据绑定特性 87
5.8.2 Click和Double-Click事件 87
5.8.3 向列表添加项目 87
5.8.4 在指定位置添加项目 88
5.8.5 设计时添加项目 88
5.8.6 排序列表 88
5.8.10 用ListIndex属性判断位置 89
5.8.9 用List属性访问列表项目 89
5.8.7 从列表中删除项目 89
5.8.8 通过Text属性获取列表内容 89
5.8.11 使用ListCount属性返回项目数 90
5.8.12 创建多列和多选项列表框 90
5.9 组合框控件 91
5.9.1 何时用组合框代替列表框 91
5.9.2 数据绑定特性 91
5.9.3 组合框的样式 91
5.9.6 下拉式列表框 92
5.9.7 添加项目 92
5.9.5 简单组合框 92
5.9.4 下拉式组合框 92
5.9.8 设计时添加项目 93
5.9.9 在指定位置添加项目 93
5.9.10 排序列表 94
5.9.11 删除项目 94
5.9.12 用Text属性获取列表内容 94
5.9.13 用List属性访问列表选项 94
5.10 命令对话框控件 95
5.9.15 用ListCount属性返回项目数 95
5.9.14 用ListIndex属性判断位置 95
5.11 数据控件 96
5.12 数据绑定控件(DBCombo、DBList和DBGrid) 97
5.12.1 DBList和DBCombo 97
5.12.2 DBGrid控件 97
5.13 文件系统控件 97
5.14 图像控件 97
5.14.3 支持的图形格式 98
5.14.2 将图形加载到Image控件中 98
5.14.1 何时使用Image控件而不使用PictureBox控件 98
5.14.4 使用剪贴板 99
5.14.5 Stretch属性 99
5.15 线形控件 99
5.15.1 设置边界样式和颜色 100
5.15.2 移动和调整线段大小 100
5.15.3 在窗体上画线 100
5.16.2 示例应用程序:Flex.vbp 101
5.16 MSFlexGrid控件 101
5.16.1 用途 101
5.17 OLE容器控件 102
5.18 图片框控件 102
5.18.1 支持的图形格式 103
5.18.2 将图形加载到PictureBox控件中 103
5.18.3 使用剪贴板 103
5.18.4 调整图片的大小 103
5.18.5 用PictureBox控件作容器 103
5.18.6 图形方法 103
5.18.7 使用Print方法 104
5.19 形状控件 104
5.19.1 预定义的形状 104
5.19.2 Fill和Line样式 105
5.19.3 设置Color属性 105
5.19.4 在窗体上绘制形状 105
5.20.2 在窗体上放置Timer控件 106
5.20.1 示例应用程序:Alarm.vbp 106
5.20 定时器控件 106
5.20.3 初始化Timer控件 107
5.21 小结 107
第六章 ActiveX控件 108
6.1 向工具框中添加ActiveX控件 108
6.2 使用对话框控件 109
6.2.1 可能的用途 109
6.2.2 设置选项卡和选项卡行 109
6.2.3 在选项卡中添加控件 110
6.2.4 在运行时启用和停用选项卡 111
6.2.5 选项卡的定制属性 111
6.2.6 Style属性 111
6.2.7 TabOrientation属性 112
6.2.8 Picture属性 112
6.2.9 完成定制的选项卡式对话框 113
6.3 使用动画控件 113
6.3.2 基本操作:Open、Play、Stop和Close方法 114
6.3.1 用途 114
6.4 使用通讯控件 116
6.4.1 用途 116
6.4.2 示例应用程序:Dialer.vbp和VBTerm.vbp 116
6.4.3 串行通讯的基本知识 116
6.4.4 建立串行端口连接 117
6.4.5 操作调制解调器 118
6.4.6 在设计时设置接收和发送缓冲区属性 118
6.4.7 管理接收和发送缓冲区 119
6.4.8 握手 120
6.4.9 OnComm事件和CommEvent属性 120
6.5 使用图像列表控件 122
6.5.1 用途 122
6.5.2 管理ListImage对象和ListImages集合 123
6.5.3 确定图像的大小 124
6.5.4 创建合成图像的方法 124
6.6.2 基本操作 125
6.6.3 设置AccessType属性:使用代理服务器 125
6.6 使用Internet传输控件 125
6.6.1 用途 125
6.6.4 调用OpenURL方法 126
6.6.5 同步和异步传输 128
6.6.6 在FPT协议中使用Execute方法 128
6.6.7 在HTTP协议上使用Execute方法 130
6.6.8 在State事件中使用GetChunk方法 131
6.7.1 用途 132
6.7.2 可用的四种视图 132
6.7 使用列表查看控件 132
6.6.9 登录到FTP服务器 132
6.7.3 用View属性改变视图 134
6.7.4 用于图标视图和小图标视图的两个ImageList控件 135
6.7.5 在报表视图中显示ColumnHeaders 136
6.7.6 Subltems取决于ColumnHeaders 136
6.8 使用MAPI控件 137
6.8.1 用途 137
6.8.2 使用MAPISession控件 138
6.8.3 使用MAPIMessages控件 139
6.9 使用MaskedEdit控件 144
6.9.1 用途 144
6.9.2 Mask属性 145
6.9.3 Format属性 146
6.9.4 在设计时设置属性 148
6.9.5 ValidationError事件 148
6.10.2 改变图表类型 149
6.10.1 用途 149
6.10 使用MSChart控件 149
6.9.6 将MaskedEdit用作绑定的控件 149
6.10.3 添加图表元素 150
6.10.4 使用组合图表 150
6.10.5 叠置系列 150
6.10.6 赋予和编辑背景 151
6.10.7 格式化底和墙 151
6.10.8 操纵MSChart的数据网格 151
6.10.9 从数组中加载数据 152
6.11.2 多媒体的要求和支持的设备类型 154
6.11 使用Multimedia控件 154
6.11.1 用途 154
6.11.3 MCI命令 155
6.11.4 对Multimedia控件进行编程 156
6.11.5 打开MCI设备 156
6.11.6 管理多媒体资源 156
6.12.1 用途 157
6.12.2 创建PictureClip图像 157
6.12 使用PictureClip控件 157
6.11.7 使用Error和ErrorMessage属性 157
6.12.3 将资源位图加载到PictureClip 158
6.12.4 从PictureClip控件中获取图像 158
6.13 使用ProgressBar控件 160
6.13.1 用途 160
6.14 使用RichTextBox控件 161
6.14.1 用途 161
6.14.2 特性 161
6.15.2 TickStyle和TickFrequency属性 165
6.15.1 可能的用途 165
6.15 使用Slider控件 165
6.15.3 在设计时或运行时设置Min、Max属性 166
6.15.4 SmallChange和LargeChange属性 166
6.15.5 设定范围 166
6.16 使用StatusBar控件 167
6.16.1 可能的用途 167
6.16.2 Panel对象和Panels集合 167
6.16.5 Style属性:自动状态函数 168
6.16.4 在PanelClick事件中用Select Case语句确定发生单击的Panel 168
6.16.3 在运行时用带Add方法的Set语句创建Panels 168
6.16.6 用Bevel、AutoSize和Alignment属性改变外观 169
6.16.7 Style属性和SimpleText属性 171
6.17 使用SysInfo控件 171
6.17.1 可能的用途 172
6.17.2 SysInfo控件的特性 172
6.17.3 操作系统属性和事件 172
6.17.4 管理硬件配置和即插即用事件 173
6.17.5 使用电源状态属性和事件 174
6.18.1 可能的用途 175
6.18.2 Tabs集合 175
6.18.3 将ImageList控件与TabStrip控件相关联 175
6.18 使用TabStrip控件 175
6.18.4 在设计时或运行时创建Tab 176
6.18.5 在客户区中放置容器控件 177
6.18.6 管理Tabs和容器控件 179
6.19 使用Toolbar控件 180
6.19.3 将ImageList控件与Toolbar控件相关联 181
6.19.4 在设计时或运行时创建按钮 181
6.19.1 可能的用途 181
6.19.2 Buttons集合 181
6.19.5 按钮的Style属性决定按钮的行为 183
6.19.6 将控件放入工具栏 183
6.19.7 在Resize事件中重定位其它控件 183
6.19.8 在ButtonClick事件中用Select Case语句编写按钮的功能 184
6.19.9 用MixedState表示不确定状态 184
6.19.11 允许最终用户定制工具栏 185
6.19.10 用ToolTipText属性设置ToolTip文本 185
6.20 使用TreeView控件 187
6.20.1 可能的用途 187
6.20.2 设置Node对象属性 187
6.21 使用UpDown控件 189
6.21.1 可能的用途 190
6.21.2 基本操作 190
6.21.3 用AutoBuddy属性自动设置伙伴控件 190
6.21.4 确定滚动行为 190
6.22 使用WinSock控件 191
6.22.1 用途 192
6.22.2 选择通讯协议 192
6.22.3 协议的设置 192
6.22.4 确定计算机的名称 192
6.22.5 TCP连接初步 193
6.22.6 接受多个连接请求 195
6.22.7 UDP初步 196
6.23 小结 198
6.22.8 关于Bind方法 198
第七章 文件管理 199
7.1 文件管理的基本操作 199
7.1.1 当前目录 199
7.1.2 改变当前驱动器 199
7.1.3 改变当前目录 199
7.1.4 创建目录 200
7.1.5 删除目录 200
7.1.6 删除文件 200
7.1.7 设置文件属性 200
7.1.8 其他文件系统操作的函数和语句 201
7.1.9 得到当前可执行文件的路径 202
7.2 文件系统控件 202
7.2.1 驱动器列表框 204
7.2.2 目录列表框 204
7.2.3 文件列表框 205
7.2.4 使用三个控件的组合 206
7.2.5 文件系统控件应用示例 207
7.3 文件的读写 210
7.3.1 顺序文件 212
7.3.2 随机文件 213
7.3.3 二进制文件 214
7.4 小结 215
第八章 设计应用程序界面 216
8.1 设计一个窗体 218
8.2.1 使用控件工具箱 220
8.2 向窗体上添加控件 220
8.2.2 使用窗体编辑器 221
8.2.3 在程序中引用其他窗体上的控件 224
8.2.4 使用窗体布局窗口设置窗体的位置 224
8.3 设置启动窗体 225
8.3.1 设置启动窗体 225
8.3.2 没有启动窗体时的启动 225
8.3.3 显示启动时的快速显示 226
8.4.1 模式与无模式对话框 228
8.4 对话框 228
8.4.2 使用预定义的对话框 229
8.4.3 使用窗体作为自定义对话框 234
8.5 窗体的生命周期 237
8.5.1 创建状态 238
8.5.2 加载状态 239
8.5.3 显示状态 240
8.6 界面样式 242
8.7 多文档界面(MDI)应用程序 244
8.7.1 设计时使用MDI子窗体 245
8.7.2 MDI窗体运行时的特性 245
8.7.3 MDI NotePad应用程序 246
8.7.4 使用MDI窗体及其子窗体 248
8.8 界面设计的基本原则 250
8.8.1 界面设计基础 251
8.8.2 可用性设计 254
8.8.3 当用户或系统出错时与用户交互 255
8.8.4 设计用户辅助模式 256
8.9 小结 258
第九章 设计菜单与工具栏 259
9.1 设计菜单 259
9.1.1 用菜单编辑器创建菜单 261
9.1.2 分隔菜单项 263
9.1.3 定义菜单项的访问键和快捷键 263
9.1.4 创建子菜单 265
9.1.5 运行时创建和修改菜单 266
9.1.6 创建菜单控件数组 268
9.1.7 编写菜单控件代码 269
9.1.8 显示弹出式菜单 269
9.1.9 MDI应用程序中的菜单 271
9.2 创建工具栏 273
9.2.1 创建工具栏的步骤 273
9.2.2 在相关联的ImageList控件中插入图像 274
9.2.3 创建Toolbar控件的Button对象 277
9.2.4 为工具栏编写代码 279
9.2.5 使用“自定义工具栏”对话框 280
9.2.6 Toolbar应用示例: 281
9.2.7 手工创建工具栏 284
9.3 协调菜单和工具栏的外观: 286
9.4 小结 286
第十章 应用系统资源 287
10.1 鼠标 287
10.1.1 响应鼠标事件 288
10.1.2 检测鼠标按键 292
10.1.3 检测SHIFT、CTRL和ALT键的状态 296
10.1.4 用鼠标进行拖放 298
10.2 键盘 303
10.2.1 编写低级键盘处理程序 303
10.2.2 KeyPress事件 304
10.2.3 KeyUp和KeyDown事件 305
10.2.4 编写窗体级键盘处理程序 306
10.3 定时器控件Timer 308
10.3.1 使用Timer控件中断后台任务 308
10.3.2 使用DoEvents函数 309
10.4 系统对象 311
10.4.1 屏幕Sereen 311
10.4.2 打印机Printer 312
10.4.3 剪贴板Clipboard 316
10.5 小结 318
第十一章 错误陷阱及程序调试 319
11.1 错误陷阱技术 319
11.1.1 错误的分类 319
11.1.2 错误陷阱 320
11.1.3 错误处理程序的创建方法 322
11.2 程序调试 326
11.2.1 中断调试 327
11.2.2 Debug调试窗口 328
11.2.3 单步调试与跳跃调试 330
11.2.4 即时观察调试 332
11.3 小结 334
12.1 设置文本字体 335
12.1.1 设置字体属性 335
第十二章 文本、图像和多媒体 335
12.1.2 使用小字体 336
12.2 设置文本输出格式 337
12.2.1 使用Print方法 337
12.2.2 文本的截断 337
12.2.3 分层 338
12.2.4 在单行上显示不同的项 338
12.2.5 在指定位置显示Print输出 338
12.3 图形绘制 340
12.3.1 图形方法画图的原理 341
12.3.2 画点 341
12.3.3 画各种直线和形状 342
12.3.4 绘制方框 344
12.3.5 画圆 345
12.3.6 画圆弧 347
12.3.7 画椭圆 347
12.3.8 在任意位置绘制图形 348
12.3.10 指定实线或虚线 349
12.3.9 指定线宽 349
12.3.11 DrawMode的显示控制作用 350
12.3.12 窗体加载时创建图形 352
12.4 在窗体中使用图片 352
12.4.1 给应用程序添加图片 352
12.4.2 窗体和控件的图形属性概述 354
12.4.3 用AutoRedraw创建持久的图形 354
12.4.4 用ClipControl裁剪区域 356
12.4.5 用AutoRedraw和ClipControl使图形分层 357
12.4.6 动态地移动控件 359
12.4.7 动态地改变控件大小 362
12.4.8 创建简单动画 363
12.5 播放多媒体信息 364
12.5.1 用途 364
12.5.2 多媒体的要求和支持的设备类型 364
12.5.3 MCI命令 365
12.5.4 对Multimedia控件进行编程 365
12.5.7 使用Error和ErrorMessage属性 366
12.5.5 打开MCI设备 366
12.5.6 管理多媒体资源 366
12.6 小结 367
第十三章 数据库应用程序 368
13.1 数据库简介 368
13.1.1 创建简单的数据库应用程序 369
13.1.2 数据库的设计和结构 372
13.2 数据管理器 373
13.3.1 创建记录集对象 375
13.3 记录集对象 375
13.3.2 缺省的记录集类型 376
13.3.3 设置OpenRecordset选项 377
13.3.4 设置记录集锁定选项 377
13.3.5 以表为基础创建记录集 378
13.3.6 对表类型的记录集使用索引 379
13.3.7 以查询为基础创建记录集 380
13.3.8 记录的排序与筛选 381
13.3.9 记录集对象属性 383
13.3.10 使用记录集对象 385
13.4.1 映射数据库 386
13.4 数据库的维护 386
13.4.2 压缩数据库 389
13.4.3 数据库压缩(高级) 390
13.4.4 修复数据库(高级) 390
13.5 使用事物处理维护数据库的完整性 391
13.5.2 把变化保存到表中 392
13.5.3 撤消变化 392
13.5.1 开始一个事务 392
13.5.4 使用多个事务 393
13.6 小结 393
第十四章 对象编程 394
14.1 建立自己的对象 394
14.1.1 建立类模块 395
14.1.2 向类中添加属性 399
14.1.3 向类中添加事件 400
14.2.1 使用对象变量 407
14.2 对象变量 407
14.2.2 声明对象变量 408
14.2.3 赋值对象变量 408
14.2.4 特定对象类型与一般对象类型 409
14.2.5 作为对象的窗体 410
14.2.6 使用New关键字 410
14.3 查看对象信息 413
14.3.1 对象浏览器的内容 414
14.3.2 控制对象浏览器的内容 415
14.4 使用对象集合 417
14.4.1 集合对象的构成 418
14.4.2 集合对象的属性和方法 419
14.4.3 给集合添加项 420
14.4.4 从集合中删除项 420
14.4.5 从集合中检索项 420
14.4.6 创建对象集合 421
14.5.2 使用对象集合 422
14.5.1 对象的层次 422
14.5 对象间的关系 422
14.5.3 包含其它对象的对象 423
14.5.4 Visual Basic中的公共集合 424
14.5.5 容器属性 424
14.5.6 对象之间的通讯 425
14.6 用对象编程的一个实例--MDI窗体 425
14.6.1 创建MDI应用程序 426
14.6.3 加载MDI窗体及其子窗体 429
14.6.2 指定活动子窗体或控件 429
14.6.4 维护子窗体的状态信息 430
14.6.5 用QueryUnload卸载MDI窗体 431
14.7 小结 431
第十五章 对象链接与嵌入(OLE) 432
15.1 OLE概述 432
15.1.1 使用OLE容器控件的弹出式菜单 432
15.1.2 查找类名 433
15.2.3 在运行时创建嵌入对象 435
15.2.2 运行时创建链接对象 435
15.2.1 使用Object属性 435
15.2 建立OLE对象 435
15.2.4 将数据库与OLE容器控件绑定 436
15.3 在窗体中添加OLE对象 436
15.3.1 设计时插入链接对象 437
15.3.2 设计时创建嵌入对象 437
15.3.3 使用“选择性粘贴”对话框创建对象 438
15.4 OLE的应用 438
15.4.1 DataObject对象允许OLE拖放和剪贴板操作处理多种数据类型 439
15.4.2 OLEDropMode属性 441
15.4.3 OLEDrag方法用于促使控件开始OLE拖放操作 442
15.4.4 OLEDropAllowed属性 444
15.4.5 OLEType属性 445
15.4.6 OLEDragmode属性 446
15.4.7 OLRETypeAllowed属性 447
15.4.8 OLECompleteDrag事件 447
15.4.9 OLEDragover事件 448
15.4.10 OLEDragDorp事件 451
15.4.11 OLEGiveFeedback事件 452
15.4.12 OLEStartDrag事件 454
15.4.13 OLEDrag方法 455
15.4.14 OLEDrag方法(ActiveX控件) 455
15.4.15 OLEStartDrag事件(ActiveX控件) 455
15.4.16 OLEDragDrop事件(ActiveX事件) 457
15.4.17 OLEDragover事件(ActiveX控件) 458
15.4.18 OLEGiveFeedback事件(ActiveX控件) 460
15.5.2 Visual Basic ActiveX部件的特性 462
15.5 ActiveX部件(OLE服务器) 462
15.5.1 不再只是OLE服务器 462
15.5.3 ActiveX控件 464
15.5.4 ActiveX文档 464
15.5.5 代码部件 465
15.6 小结 465
第十六章 Visual Basic 5.0的函数和语句 466
16.1 函数 466
16.2 语句 527