第1篇 技能学习篇
第1章 厉兵秣马
——做好Visual Basic开发前期准备
14个编程技术要点
3个编程技巧说明
5个编程注意事项
2个实例应用详解
1.1 本章学习任务 3
1.1.1 学习本章能做什么 3
1.1.2 任务一——猜数字找小鸡 3
1.1.3 任务二——按钮随机移动 4
1.2 走进Visual Basic 6.0 4
1.2.1 追溯Visual Basic的发展历史 4
1.2.2 Visual Basic版本介绍 6
1.2.3 Visual Basic的特点 7
1.2.4 软件和硬件环境 7
1.3 三人行必有我师焉——身边的成功案例 8
1.4 认清Visual Basic的地位 8
1.4.1 Visual Basic的精神——Trust the Programmer 8
1.4.2 Visual Basic的深邃——上天入地,无所不能 8
1.4.3 简单的Visual Basic——无论新手,还是专家皆可轻松搞定 9
1.5 集成开发环境 9
1.5.1 启动Visual Basic 6.0 9
1.5.2 菜单栏——显示所有可用的操作 11
1.5.3 工具栏——提供快速访问按钮 13
1.5.4 工程资源管理器——显示工程中的资源 14
1.5.5 属性——显示对象的属性 15
1.5.6 工具箱——存放控件的窗口 15
1.6 实战检验 17
1.6.1 任务一解决方案——猜数字找小鸡 17
1.6.2 任务二解决方案——按钮随机移动 19
1.7 疑难解惑 20
1.7.1 Visual Basic安装后为何出现乱码 20
1.7.2 窗体布局窗口如何显示窗体的小图标 20
1.7.3 如何复制图像和文字 20
1.8 精彩回顾 21
第2章 开发初体验
——创建Visual Basic应用程序
30个编程技术要点
5个编程技巧说明
8个编程注意事项
3个实例应用详解
2.1 本章学习任务 23
2.1.1 本章知识体系 23
2.1.2 任务一——设置窗体宽度和高度 23
2.1.3 任务二——在立即窗口中显示输入的信息 23
2.2 面向对象的基本概念 24
2.2.1 对象的概念 24
2.2.2 设置对象的属性 24
2.2.3 对象方法的应用 25
2.2.4 使用对象的事件 26
2.3 创建工程文件 27
2.3.1 工程的组成 27
2.3.2 创建工程文件 27
2.3.3 添加窗体和模块 27
2.3.4 设置工程属性 30
2.4 定义开发环境 30
2.4.1 设置启动时保存 30
2.4.2 自定义工具栏 31
2.4.3 设置网格大小和不对齐到网格 32
2.5 设计用户界面 33
2.5.1 窗体编辑器的使用 33
2.5.2 添加控件到窗体 33
2.5.3 复制和删除控件 34
2.5.4 更改控件属性 35
2.5.5 调整和对齐控件 35
2.6 添加程序代码 36
2.6.1 如何进入和使用代码窗口 36
2.6.2 设置编辑器中强制变量声明 37
2.6.3 为代码编辑器设置鼠标滚动 38
2.6.4 规范代码缩进格式 38
2.6.5 代码书写规则 39
2.6.6 处理关键字冲突 40
2.7 添加代码注释 40
2.7.1 代码注释及规则 40
2.7.2 给当前程序添加代码注释 42
2.8 程序运行及调试 42
2.8.1 程序的运行 42
2.8.2 暂停程序 42
2.8.3 结束程序运行 43
2.8.4 程序的运行效果 43
2.9 工程管理及生成可执行文件 44
2.9.1 保存工程 44
2.9.2 生成可执行文件 44
2.10 实战检验 45
2.10.1 任务一解决方案——设置窗体的高度和宽度 45
2.10.2 任务二解决方案——在立即窗口中显示输入的信息 45
2.11 疑难解惑 45
2.11.1 如何锁定窗体上的控件 45
2.11.2 如何使用最近的工程文件 46
2.11.3 工程中为何弹出“Add this project to SourceSafe ?” 46
2.12 精彩回顾 46
第1篇 技能学习篇
第1章 厉兵秣马
——做好Visual Basic开发前期准备
14个编程技术要点
3个编程技巧说明
5个编程注意事项
2个实例应用详解
1.1 本章学习任务 3
1.1.1 学习本章能做什么 3
1.1.2 任务一——猜数字找小鸡 3
1.1.3 任务二——按钮随机移动 4
1.2 走进Visual Basic 6.0 4
1.2.1 追溯Visual Basic的发展历史 4
1.2.2 Visual Basic版本介绍 6
1.2.3 Visual Basic的特点 7
1.2.4 软件和硬件环境 7
1.3 三人行必有我师焉——身边的成功案例 8
1.4 认清Visual Basic的地位 8
1.4.1 Visual Basic的精神——Trust the Programmer 8
1.4.2 Visual Basic的深邃——上天入地,无所不能 8
1.4.3 简单的Visual Basic——无论新手,还是专家皆可轻松搞定 9
1.5 集成开发环境 9
1.5.1 启动Visual Basic 6.0 9
1.5.2 菜单栏——显示所有可用的操作 11
1.5.3 工具栏——提供快速访问按钮 13
1.5.4 工程资源管理器——显示工程中的资源 14
1.5.5 属性——显示对象的属性 15
1.5.6 工具箱——存放控件的窗口 15
1.6 实战检验 17
1.6.1 任务一解决方案——猜数字找小鸡 17
1.6.2 任务二解决方案——按钮随机移动 19
1.7 疑难解惑 20
1.7.1 Visual Basic安装后为何出现乱码 20
1.7.2 窗体布局窗口如何显示窗体的小图标 20
1.7.3 如何复制图像和文字 20
1.8 精彩回顾 21
第2章 开发初体验
——创建Visual Basic应用程序
30个编程技术要点
5个编程技巧说明
8个编程注意事项
3个实例应用详解
2.1 本章学习任务 23
2.1.1 本章知识体系 23
2.1.2 任务一——设置窗体宽度和高度 23
2.1.3 任务二——在立即窗口中显示输入的信息 23
2.2 面向对象的基本概念 24
2.2.1 对象的概念 24
2.2.2 设置对象的属性 24
2.2.3 对象方法的应用 25
2.2.4 使用对象的事件 26
2.3 创建工程文件 27
2.3.1 工程的组成 27
2.3.2 创建工程文件 27
2.3.3 添加窗体和模块 27
2.3.4 设置工程属性 30
2.4 定义开发环境 30
2.4.1 设置启动时保存 30
2.4.2 自定义工具栏 31
2.4.3 设置网格大小和不对齐到网格 32
2.5 设计用户界面 33
2.5.1 窗体编辑器的使用 33
2.5.2 添加控件到窗体 33
2.5.3 复制和删除控件 34
2.5.4 更改控件属性 35
2.5.5 调整和对齐控件 35
2.6 添加程序代码 36
2.6.1 如何进入和使用代码窗口 36
2.6.2 设置编辑器中强制变量声明 37
2.6.3 为代码编辑器设置鼠标滚动 38
2.6.4 规范代码缩进格式 38
2.6.5 代码书写规则 39
2.6.6 处理关键字冲突 40
2.7 添加代码注释 40
2.7.1 代码注释及规则 40
2.7.2 给当前程序添加代码注释 42
2.8 程序运行及调试 42
2.8.1 程序的运行 42
2.8.2 暂停程序 42
2.8.3 结束程序运行 43
2.8.4 程序的运行效果 43
2.9 工程管理及生成可执行文件 44
2.9.1 保存工程 44
2.9.2 生成可执行文件 44
2.10 实战检验 45
2.10.1 任务一解决方案——设置窗体的高度和宽度 45
2.10.2 任务二解决方案——在立即窗口中显示输入的信息 45
2.11 疑难解惑 45
2.11.1 如何锁定窗体上的控件 45
2.11.2 如何使用最近的工程文件 46
2.11.3 工程中为何弹出“Add this project to SourceSafe ?” 46
2.12 精彩回顾 46
第3章 万丈高楼平地起
——基础是一切技能的本源
22个编程技术要点
8个编程技巧说明
3个编程注意事项
7个实例应用详解
3.1 本章学习任务 48
3.1.1 本章知识体系 48
3.1.2 任务一——实现两个变量的互换(不借助第三个变量) 48
3.1.3 任务二——测试十二生肖运势 48
3.2 没有规矩不成方圆,解析程序设计中的规则 49
3.2.1 语句的组成要素 49
3.2.2 命名可以使用的字符 50
3.2.3 命名不能使用的字符 50
3.2.4 编程元素的命名规则 50
3.2.5 语句及语法规则 51
3.3 基本数据类型 51
3.3.1 世界因你而精彩——字符型 52
3.3.2 不能没有你——数值型 52
3.3.3 非此即彼——布尔型 53
3.3.4 时不我待——日期型 53
3.3.5 变体型 54
3.3.6 对象型 54
3.4 用户自定义数据类型 54
3.4.1 变量阻击队——记录类型 54
3.4.2 常量集中营——枚举类型 56
3.5 Visual Basic中的常量 56
3.5.1 文字常量 56
3.5.2 符号常量 57
3.6 变量的使用 58
3.6.1 变量的概念 58
3.6.2 变量名的命名 58
3.6.3 变量的作用域 59
3.7 运算符和表达式 60
3.7.1 算术运算符与算术表达式 60
3.7.2 关系运算符和关系表达式 61
3.7.3 逻辑运算符和逻辑表达式 62
3.7.4 运算符在表达式中的优先级 63
3.8 实战检验 63
3.8.1 任务一解决方案——实现两个变量的交换(不借助第3个变量) 63
3.8.2 任务二解决方案——测试十二生肖运势 64
3.9 疑难解惑 67
3.9.1 没有定义变量的系统默认值 67
3.9.2 正确使用&和+ 67
3.9.3 正确使用Or、Xor、And、Eqv、Imp运算符 68
3.10 精彩回顾 69
第4章 与计算机的鸿雁传书
——数据的输入与输出
14个编程技术要点
5个编程技巧说明
7个编程注意事项
12个实例应用详解
4.1 本章学习任务 71
4.1.1 本章知识体系 71
4.1.2 任务一——一封家书 71
4.1.3 任务二——打印住宿登记 72
4.2 输入函数InputBox 72
4.3 MsgBox函数和MsgBox语句 73
4.3.1 MsgBox函数 73
4.3.2 MsgBox语句 76
4.4 数据的输出 76
4.4.1 使用Print方法输出 76
4.4.2 使用Tab(n)函数输出Tab键 76
4.4.3 使用Spc(n)函数输出空格 78
4.4.4 使用Space(n)函数输出空格 79
4.4.5 使用Format函数格式化输出内容 80
4.4.6 使用Cls方法清除文本 82
4.5 输出字体的类型和大小 82
4.5.1 通过FontName属性设置字体类型 82
4.5.2 通过FontSize属性设置字体的大小 83
4.5.3 其他字体设置属性 84
4.6 打印机输出 84
4.6.1 使用Printer对象的属性方法直接输出 84
4.6.2 使用PrintForm窗体输出 85
4.7 实战检验 86
4.7.1 任务一解决方案——一封家书 87
4.7.2 任务二解决方案——打印住宿登记 89
4.8 疑难解惑 89
4.8.1 如何设置打印方向 89
4.8.2 如何设置打印纸张大小 90
4.8.3 如何在窗体上输出立体文字 92
4.9 精彩回顾 93
第5章 程序的灵与肉
——算法与程序设计结构
22个编程技术要点
6个编程技巧说明
5个编程注意事项
17个实例应用详解
5.1 本章学习任务 95
5.1.1 本章知识体系 95
5.1.2 任务一——求100以内的素数 95
5.1.3 任务二——验证哥德巴赫猜想 96
5.2 程序的灵魂所在——算法 96
5.2.1 算法的概念 96
5.2.2 算法的特性 97
5.2.3 算法的描述方法 97
5.3 三分天下——看程序的3种基本结构 98
5.3.1 平铺直叙——顺序结构 98
5.3.2 曲径通幽——分支结构 98
5.3.3 百转千回——循环结构 99
5.4 无处不在的赋值语句 100
5.4.1 顺序结构的构成 100
5.4.2 赋值语句 100
5.5 如果·爱——If语句 102
5.5.1 单分支If…Then…语句 102
5.5.2 双分支If…Then…Else语句 103
5.5.3 多分支If…Then…ElseIf语句 105
5.5.4 If语句的嵌套 107
5.5.5 IIF函数的使用 109
5.6 分道扬镳——Select Case语句 110
5.7 循环来了,你准备好了吗 112
5.7.1 For…Next循环 112
5.7.2 For Each…Next循环 114
5.7.3 Do…Loop循环语句 114
5.7.4 嵌套循环 117
5.8 其他辅助控制语句 119
5.8.1 让GoTo语句告诉你,没有不可能 119
5.8.2 画地为牢——With…End With语句 119
5.8.3 打破怪圈——Exit语句 120
5.8.4 程序终结者——End语句 121
5.9 实战检验 122
5.9.1 任务一解决方案——求100以内的素数 122
5.9.2 任务二解决方案——验证哥德巴赫猜想 123
5.10 疑难解惑 124
5.10.1 建立一个至少执行一次的Do循环 124
5.10.2 End、Exit语句的使用技巧 124
5.10.3 防止无限循环 125
5.11 精彩回顾 125
第6章 串起数据的珍珠链
——数组及其使用
20个编程技术要点
5个编程技巧说明
8个编程注意事项
11个实例应用详解
6.1 本章学习任务 127
6.1.1 本章知识体系 127
6.1.2 任务一——梅花烙 127
6.1.3 任务二——幼儿识字卡片 128
6.2 数组的概述 129
6.2.1 数组的概念 129
6.2.2 数组与简单变量的区别 130
6.2.3 数组的分类 130
6.3 静态数组 130
6.3.1 静态数组的声明和使用 130
6.3.2 一维数组 131
6.3.3 二维数组 132
6.3.4 多维数组 132
6.4 动态数组 133
6.4.1 动态数组的声明和使用 133
6.4.2 动态数组的重定义 134
6.4.3 动态数组的清除 135
6.5 数组的基本操作 136
6.5.1 数组元素的输入 136
6.5.2 数组元素的输出 136
6.5.3 数组元素的查找 136
6.6 控件数组 137
6.6.1 控件数组的概念 137
6.6.2 控件数组的创建 137
6.6.3 控件数组的使用 138
6.7 数组相关的函数及语句 138
6.7.1 使用Array函数创建数组 138
6.7.2 使用UBound函数和LBound函数获取数组上下标 139
6.7.3 使用Split函数生成一维数组 139
6.7.4 使用Option Base语句声明数组下标的最大值 140
6.8 实战检验 141
6.8.1 任务一解决方案——梅花烙 141
6.8.2 任务二解决方案——幼儿识字卡片 143
6.9 疑难解惑 144
6.9.1 计算数组的元素个数 144
6.9.2 利用数组实现矩阵转换 144
6.9.3 利用数组随机抽取幸运观众 145
6.10 精彩回顾 146
第7章 化整为零
——过程与函数
25个编程技术要点
7个编程技巧说明
11个编程注意事项
17个实例应用详解
7.1 本章学习任务 148
7.1.1 本章知识体系 148
7.1.2 任务一——自定义获取汉字拼音简码的函数 148
7.1.3 任务二——七星彩摇奖机 148
7.2 过程概述 149
7.3 事件过程 149
7.3.1 建立事件过程 150
7.3.2 调用事件过程 151
7.4 Sub子过程 152
7.4.1 建立子过程 152
7.4.2 调用子过程 153
7.4.3 调用其他模块中的子过程 154
7.5 Function函数过程 155
7.5.1 建立函数过程 155
7.5.2 调用函数过程 156
7.5.3 保存函数的局部变量值 157
7.5.4 函数过程与子过程的区别 157
7.6 参数传递 158
7.6.1 形式参数和实际参数 158
7.6.2 值传递和地址传递 158
7.6.3 可选参数 160
7.6.4 不定数量的参数 161
7.6.5 数组参数传递 161
7.6.6 对象参数传递 162
7.7 过程递归与嵌套 162
7.7.1 过程的嵌套调用 162
7.7.2 过程的递归调用 163
7.8 过程的作用域 164
7.9 实用内部函数 164
7.9.1 字符串函数 164
7.9.2 数学函数 165
7.9.3 类型转换函数 166
7.9.4 日期和时间函数 167
7.9.5 随机函数 167
7.9.6 格式化函数 168
7.10 实战检验 170
7.10.1 任务一解决方案——自定义获取汉字拼音简码的函数 170
7.10.2 任务二解决方案——七星彩摇奖机 172
7.11 疑难解惑 174
7.11.1 如何计算加权平均值 174
7.11.2 如何防止连续出现多个空格 174
7.11.3 如何取小数的整数位 175
7.12 精彩回顾 175
第8章 云想衣裳花想容
——设计和美化窗体界面
31个编程技术要点
8个编程技巧说明
15个编程注意事项
11个实例应用详解
8.1 本章学习任务 177
8.1.1 本章知识体系 177
8.1.2 任务一——类似QQ的窗体抖动 177
8.1.3 任务二——设计类似编程词典的浮动工具栏 178
8.2 横看成岭侧成峰——界面设计原则 178
8.2.1 初步规划 178
8.2.2 设计原则 179
8.3 万紫千红花争艳——窗体概述 181
8.3.1 窗体的结构 181
8.3.2 模式窗体与无模式窗体 181
8.3.3 SDI窗体和MDI窗体 181
8.3.4 添加窗体和移除窗体 182
8.3.5 加载与卸载窗体 183
8.4 天生丽质难自弃——简析窗体的常规属性 184
8.4.1 名称(Name)和标题(Caption)属性 184
8.4.2 图标(Icon)和背景(Picture)属性 185
8.5 回眸一笑百媚生——透析窗体的特殊属性 187
8.5.1 最大化(MaxButton)和最小化(MinButton)按钮属性 187
8.5.2 窗体显示状态(WindowState)属性 188
8.5.3 窗体的边框样式(BorderStyle)属性 189
8.6 庄生晓梦迷蝴蝶——解析窗体的事件 190
8.6.1 单击(Click)和双击(DbClick)事件 190
8.6.2 载入(Load)和卸载(QueryUnload/Unload)事件 191
8.6.3 初始化(Initialize)事件 194
8.6.4 活动性(Activate/Deactivate)事件 194
8.6.5 焦点(GotFocus/LostFocus)事件 195
8.6.6 重绘(Paint)事件 196
8.6.7 调整大小(Resize)事件 196
8.7 秋雨梧桐叶落时——剖析窗体事件的生命周期 197
8.7.1 窗体的启动过程 197
8.7.2 窗体的运行过程 198
8.7.3 窗体的关闭过程 198
8.8 望帝春心托杜鹃——辨析窗体方法的使用 198
8.8.1 显示窗体(Show方法) 199
8.8.2 隐藏窗体(Hide方法) 199
8.8.3 移动窗体(Move方法) 200
8.9 一枝红艳露凝香——分析MDI窗体内涵 201
8.9.1 MDI窗体的概述 201
8.9.2 MDI窗体的添加和删除 201
8.9.3 MDI子窗体的创建(MDIChild属性) 203
8.9.4 MDI程序的特点 204
8.9.5 MDI程序的设计文档编辑器 205
8.9.6 MDI窗体的注意事项 207
8.10 实战检验 207
8.10.1 任务一解决方案——类似QQ的窗体抖动 207
8.10.2 任务二解决方案——设计类似编程词典的浮动工具栏 208
8.11 疑难解惑 210
8.11.1 如何使程序窗体总在最前面 210
8.11.2 如何设置闪烁的窗体标题栏 211
8.11.3 MDI窗体中巧用ActiveForm属性 212
8.12 精彩回顾 213
第9章 十八般兵器样样通
——掌握常用控件的使用方法
23个编程技术要点
5个编程技巧说明
11个编程注意事项
19个实例应用详解
9.1 本章学习任务 215
9.1.1 本章知识体系 215
9.1.2 任务一——歌手打分系统 215
9.1.3 任务二——猜数字 216
9.2 控件的概述 216
9.2.1 控件的作用 216
9.2.2 控件的属性、方法和事件 217
9.2.3 控件的分类 217
9.3 控件的相关操作 218
9.3.1 向窗体上添加控件 218
9.3.2 调整控件的大小 218
9.3.3 复制与删除控件 219
9.3.4 使用窗体编辑器调整控件布局 220
9.3.5 锁定控件 221
9.4 剑走青,刀走黑——标签和文本框 221
9.4.1 闭月羞光剑——标签控件 221
9.4.2 青龙偃月刀——文本框控件 224
9.5 激弦发矢,可以及远——命令按钮 227
9.5.1 虎贲弓——命令按钮 227
9.5.2 百步穿杨——使用命令按钮执行算法 228
9.6 枪扎一条线,棍打一大片——单选按钮、复选框 229
9.6.1 杨家枪——OptionButton控件 229
9.6.2 少林棍——CheckBox控件 232
9.7 鞭是一条绳,全靠缠得清——框架 232
9.8 百日袖箭千日镖——组合框和列表框 234
9.8.1 梅花袖箭——组合框 234
9.8.2 金钱镖——列表框 236
9.9 子午鸳鸯钺——水平/垂直滚动条 240
9.9.1 滚动条的概述 240
9.9.2 滚动条的属性 240
9.9.3 滚动条的事件 241
9.10 如意金箍棒——Timer控件 243
9.10.1 Timer控件的功能 243
9.10.2 Timer控件的属性 243
9.10.3 Timer事件 244
9.11 实战检验 244
9.11.1 任务一解决方案——歌手打分系统 244
9.11.2 任务二解决方案——猜数字 246
9.12 疑难解惑 248
9.12.1 实现焦点在文本框间移动 248
9.12.2 限制文本框的长度 248
9.12.3 在ListBox控件间实现数据交换 248
9.12.4 如何让列表框多列显示数据 250
9.13 精彩回顾 251
第10章 金陵十二钗
——演绎不一样的对话框程序
14个编程技术要点
7个编程技巧说明
8个编程注意事项
16个实例应用详解
10.1 本章学习任务 253
10.1.1 本章知识体系 253
10.1.2 任务一——使用对话框打开图片 253
10.1.3 任务二——使用“颜色”对话框设置文字颜色 254
10.2 金陵十二钗正册——了解对话框 254
10.2.1 对话框的分类 254
10.2.2 对话框的特点 255
10.3 红楼怨梦——通用对话框 255
10.3.1 通用对话框控件 255
10.3.2 通用对话框控件的属性 256
10.3.3 通用对话框控件的方法 264
10.4 飞鸟各投林——使用通用对话框控件 265
10.4.1 世外仙姝寂寞林——打开对话框(Open) 265
10.4.2 山中高士晶莹雪——另存为对话框(Save As) 266
10.4.3 美貌娇娘秦可卿——颜色对话框(Color) 267
10.4.4 妙玉气质美如兰——字体对话框(Font) 268
10.4.5 心直口快史湘云——打印对话框(Printer) 269
10.4.6 恩人相助贾巧姐——帮助对话框(Help) 271
10.5 凤姐才干人人言——自定义对话框功能全 271
10.5.1 使用对话框模板创建对话框 272
10.5.2 使用普通窗体创建自定义对话框 272
10.5.3 显示与关闭自定义对话框 273
10.6 实战检验 273
10.6.1 任务一解决方案——使用对话框打开图片的设计过程 273
10.6.2 任务二解决方案——使用“颜色”对话框设置文字颜色的设计过程 274
10.7 疑难解惑 275
10.7.1 如何设置对话框的默认路径 275
10.7.2 “打开”和“另存为”对话框中的过滤器文件类型 275
10.7.3 从公共对话框控件中提取多个文件名称 276
10.8 精彩回顾 278
第11章 指点江山,激昂文字
——诠释菜单的设计
20个编程技术要点
3个编程技巧说明
5个编程注意事项
13个实例应用详解
11.1 本章学习任务 280
11.1.1 本章知识体系 280
11.1.2 任务一——设计带图标的菜单项 280
11.1.3 任务二——在控件上创建弹出菜单 280
11.2 指点群豪戏——菜单概述 281
11.2.1 菜单的组成 281
11.2.2 菜单的基本作用 282
11.2.3 菜单的分类 282
11.3 独具匠心铸宝剑——学习“菜单编辑器”的使用 283
11.3.1 “菜单编辑器”的调用 283
11.3.2 “菜单编辑器”的组成 283
11.3.3 菜单属性设置区 284
11.3.4 菜单编辑区 285
11.3.5 菜单列表区 285
11.4 玉女素心剑法——使用“菜单编辑器”创建菜单 285
11.4.1 浪迹天涯——创建最简菜单 285
11.4.2 冷月窥人——设置菜单的无效状态 286
11.4.3 抚琴按萧——设置菜单的快捷键和访问键 286
11.4.4 池边调鹤——创建级联菜单 287
11.4.5 松下对弈——创建菜单分割条 288
11.4.6 清饮小酌——创建复选菜单 288
11.4.7 西窗夜话——显示窗口列表 289
11.4.8 柳荫联句——创建菜单数组 289
11.4.9 彩笔画眉——为菜单添加代码 290
11.5 刹那芳华——弹出式菜单 291
11.5.1 弹出式菜单概述 291
11.5.2 弹出式菜单的调用 291
11.5.3 为无标题栏窗体添加菜单 291
11.6 实战检验 294
11.6.1 任务一解决方案——设计带图标的菜单项 294
11.6.2 任务二解决方案——在控件上创建弹出菜单 295
11.7 疑难解惑 297
11.7.1 使菜单控件不可见 297
11.7.2 如何创建级联菜单 297
11.7.3 改变菜单的颜色 298
11.8 精彩回顾 299
第12章 巧用三十六计
——使用调试力挽狂澜
12个编程技术要点
2个编程技巧说明
3个编程注意事项
2个实例应用详解
12.1 本章学习任务 301
12.1.1 本章知识体系 301
12.1.2 任务一——使用错误处理功能避免程序错误 301
12.1.3 任务二——利用断点进行程序调试 301
12.2 擒贼擒王——了解错误的种类 302
12.2.1 打草惊蛇——引出编译错误 302
12.2.2 借尸还魂——解决运行错误 302
12.2.3 声东击西——处理逻辑错误 303
12.3 借刀杀人——使用调试工具 303
12.3.1 抛砖引玉——使用本地窗口获取当前过程中的变量值 303
12.3.2 调虎离山——使用立即窗口输出某一变量的值 304
12.3.3 隔岸观火——使用监视窗口监视变量的值 304
12.3.4 假道伐虢——插入断点和逐语句跟踪 306
12.4 关门捉贼——处理常见错误 307
12.4.1 釜底抽薪——使用Err对象获取错误信息 307
12.4.2 以逸待劳——使用On Error语句截获并处理错误 307
12.4.3 暗渡陈仓——使用Resume语句使程序正常执行 308
12.4.4 瞒天过海——使用自定义过程避免程序崩溃 309
12.5 养成良好的编程习惯 309
12.6 实战检验 310
12.6.1 任务一解决方案——使用错误处理功能避免程序错误 310
12.6.2 任务二解决方案——利用运行程序调试 311
12.7 疑难解惑 312
12.7.1 如何解决图片读取时的“类型不匹配”错误 312
12.7.2 解决“无效的过程调用或参数”的错误 312
12.7.3 产生“对象变量或With变量未设置”的错误 312
12.7.4 找不到工程和库 313
12.8 精彩回顾 313
第13章 “非”一般的感觉
——使用数据库
25个编程技术要点
5个编程技巧说明
3个编程注意事项
14个实例应用详解
13.1 本章学习任务 315
13.1.1 本章知识体系 315
13.1.2 任务一——使用ADO控件显示考勤信息 315
13.1.3 任务二——商品信息管理 316
13.2 数据库的概念 316
13.2.1 数据库的定义 316
13.2.2 数据库管理系统 316
13.2.3 数据库应用程序 316
13.2.4 数据库系统 317
13.3 把握开发节奏,掌握设计数据库的步骤 317
13.3.1 创建数据库 317
13.3.2 确定数据库中需要的表 317
13.3.3 确定表结构 317
13.3.4 确定索引字段 317
13.3.5 确定表关系 317
13.4 配置ODBC数据源 317
13.4.1 认识ODBC数据源 317
13.4.2 用ODBC连接Access数据库 318
13.4.3 用ODBC连接SQL Server数据库 319
13.5 数据库操作姐妹花——ADO控件 322
13.5.1 认识ADO控件 322
13.5.2 ADO控件连接ODBC数据源 323
13.5.3 ADO控件连接Access2000、Access2003数据库 324
13.5.4 ADO连接Access2007数据库 326
13.5.5 ADO连接SQL Server数据库 326
13.5.6 用代码连接数据库 327
13.5.7 ADO控件的常用属性、方法和事件 328
13.6 数据库操作姐妹花——ADO对象 330
13.6.1 引用ADO对象 330
13.6.2 连接数据库(Connection对象) 332
13.6.3 连接记录源(Recordset对象) 333
13.6.4 执行SQL语句(Command对象) 337
13.7 数据显示 338
13.7.1 使用DataGrid控件显示数据表内容 338
13.7.2 使用MSHFlexGrid控件显示数据 339
13.8 实战检验 342
13.8.1 任务一解决方案——使用ADO控件显示考勤信息 342
13.8.2 任务二解决方案——商品信息管理 343
13.9 疑难解惑 344
13.9.1 如何判断连接已打开 344
13.9.2 空数据不允许保存 345
13.9.3 如何判断读取的字段值是否为空 345
13.9.4 如何判断表中是否有记录 345
13.10 精彩回顾 346
第2篇 范例演练篇
第14章 基础应用相关
10个编程技术要点
4个编程技巧说明
6个编程注意事项
5个实例应用详解
14.1 迷你星座查询——学习使用结构体 349
14.1.1 走马观花——范例功能演示 349
14.1.2 柳暗花明——开发思路指引 349
14.1.3 锦上添花——专家难点解析 350
14.1.4 庭中赏花——设计过程详解 351
14.1.5 粲花之论——范例开发手记 353
14.1.6 花样翻新——进阶与提高 353
14.2 神奇读心术——循环语句巧应用 354
14.2.1 走马观花——范例功能演示 354
14.2.2 柳暗花明——开发思路指引 355
14.2.3 锦上添花——专家难点解析 355
14.2.4 庭中赏花——设计过程详解 356
14.2.5 粲花之论——范例开发手记 357
14.2.6 花样翻新——进阶与提高 357
14.3 石头、剪子、布——图片及字符串应用 358
14.3.1 走马观花——范例功能演示 358
14.3.2 柳暗花明——开发思路指引 359
14.3.3 锦上添花——专家难点解析 359
14.3.4 庭中赏花——设计过程详解 360
14.3.5 粲花之论——范例开发手记 361
14.3.6 花样翻新——进阶与提高 361
14.4 老虎机(Lucky Seven)——随机函数应用 362
14.4.1 走马观花——范例功能演示 362
14.4.2 柳暗花明——开发思路指引 362
14.4.3 庭中赏花——设计过程详解 363
14.4.4 锦上添花——专家难点解析 365
14.4.5 粲花之论——范例开发手记 366
14.4.6 花样翻新——进阶与提高 366
14.5 打老鼠——控件的随机显示与隐藏 366
14.5.1 走马观花——范例功能演示 366
14.5.2 柳暗花明——开发思路指引 367
14.5.3 锦上添花——专家难点解析 367
14.5.4 庭中赏花——设计过程详解 368
14.5.5 粲花之论——范例开发手记 370
14.5.6 花样翻新——进阶与提高 371
第15章 键盘、鼠标的应用
13个编程技术要点
7个编程技巧说明
5个编程注意事项
5个实例应用详解
15.1 警察抓小偷——中英文输入法应用 373
15.1.1 走马观花——范例功能演示 373
15.1.2 柳暗花明——开发思路指引 373
15.1.3 锦上添花——专家难点解析 374
15.1.4 庭中赏花——设计过程详解 375
15.1.5 粲花之论——范例开发手记 376
15.1.6 花样翻新——进阶与提高 377
15.2 打字母——锻炼键盘字符熟练程序 377
15.2.1 走马观花——范例功能演示 377
15.2.2 柳暗花明——开发思路指引 378
15.2.3 锦上添花——专家难点解析 378
15.2.4 庭中赏花——设计过程详解 379
15.2.5 粲花之论——范例开发手记 381
15.2.6 花样翻新——进阶与提高 381
15.3 打造自己的开心农场——鼠标相关 383
15.3.1 走马观花——范例功能演示 383
15.3.2 柳暗花明——开发思路指引 383
15.3.3 锦上添花——专家难点解析 383
15.3.4 庭中赏花——设计过程详解 385
15.3.5 粲花之论——范例开发手记 385
15.3.6 花样翻新——进阶与提高 386
15.4 鼠标穿透效果——API函数的应用 387
15.4.1 走马观花——范例功能演示 387
15.4.2 柳暗花明——开发思路指引 387
15.4.3 锦上添花——专家难点解析 387
15.4.4 庭中赏花——设计过程详解 389
15.4.5 粲花之论——范例开发手记 390
15.4.6 花样翻新——进阶与提高 390
15.5 贪吃蛇——键盘的相关应用 391
15.5.1 走马观花——范例功能演示 391
15.5.2 柳暗花明——开发思路指引 391
15.5.3 锦上添花——专家难点解析 392
15.5.4 庭中赏花——设计过程详解 393
15.5.5 粲花之论——范例开发手记 395
15.5.6 花样翻新——进阶与提高 395
第16章 网络编程技术
7个编程技术要点
9个编程技巧说明
5个实例应用详解
16.1 获取天气预报——解析网页源码 398
16.1.1 走马观花——范例功能演示 398
16.1.2 柳暗花明——开发思路指引 398
16.1.3 锦上添花——专家难点解析 398
16.1.4 庭中赏花——设计过程详解 400
16.1.5 粲花之论——范例开发手记 401
16.1.6 花样翻新——进阶与提高 401
16.2 多选项卡浏览器——动态添加和删除浏览器控件 401
16.2.1 走马观花——范例功能演示 401
16.2.2 柳暗花明——开发思路指引 402
16.2.3 锦上添花——专家难点解析 402
16.2.4 庭中赏花——设计过程详解 406
16.2.5 粲花之论——范例开发手记 409
16.2.6 花样翻新——进阶与提高 409
16.3 Visual Basic操作XML数据——学习使用XML对象 410
16.3.1 走马观花——范例功能演示 410
16.3.2 柳暗花明——开发思路指引 410
16.3.3 锦上添花——专家难点解析 410
16.3.4 庭中赏花——设计过程详解 412
16.3.5 粲花之论——范例开发手记 413
16.3.6 花样翻新——进阶与提高 414
16.4 网页抓图帮手——网页场景的捕捉 414
16.4.1 走马观花——范例功能演示 414
16.4.2 柳暗花明——开发思路指引 415
16.4.3 锦上添花——专家难点解析 416
16.4.4 庭中赏花——设计过程详解 417
16.4.5 粲花之论——范例开发手记 421
16.4.6 花样翻新——进阶与提高 421
16.5 网络聊天室——网络数据传输 421
16.5.1 走马观花——范例功能演示 421
16.5.2 柳暗花明——开发思路指引 422
16.5.3 锦上添花——专家难点解析 422
16.5.4 庭中赏花——设计过程详解 425
16.5.5 粲花之论——范例开发手记 428
16.5.6 花样翻新——进阶与提高 428
第17章 实用工具开发
14个编程技术要点
7个编程技巧说明
5个编程注意事项
5个实例应用详解
17.1 明日万年历——算法相关应用 431
17.1.1 走马观花——范例功能演示 431
17.1.2 柳暗花明——开发思路指引 431
17.1.3 锦上添花——专家难点解析 431
17.1.4 庭中赏花——设计过程详解 435
17.1.5 粲花之论——范例开发手记 438
17.1.6 花样翻新——进阶与提高 439
17.2 小管家房贷计算器——算法相关应用 440
17.2.1 走马观花——范例功能演示 440
17.2.2 柳暗花明——开发思路指引 440
17.2.3 锦上添花——专家难点解析 441
17.2.4 庭中赏花——设计过程详解 441
17.2.5 粲花之论——范例开发手记 443
17.2.6 花样翻新——进阶与提高 444
17.3 小财神个人所得税计算器——算法相关应用 444
17.3.1 走马观花——范例功能演示 444
17.3.2 柳暗花明——开发思路指引 445
17.3.3 锦上添花——专家难点解析 445
17.3.4 庭中赏花——设计过程详解 446
17.3.5 粲花之论——范例开发手记 448
17.3.6 花样翻新——进阶与提高 448
17.4 文本编辑器——应用文件相关技术 449
17.4.1 走马观花——范例功能演示 449
17.4.2 柳暗花明——开发思路指引 449
17.4.3 锦上添花——专家难点解析 450
17.4.4 庭中赏花——设计过程详解 451
17.4.5 粲花之论——范例开发手记 453
17.4.6 花样翻新——进阶与提高 454
17.5 个人备忘录——应用数据库相关技术 455
17.5.1 走马观花——范例功能演示 455
17.5.2 柳暗花明——开发思路指引 456
17.5.3 锦上添花——专家难点解析 456
17.5.4 庭中赏花——设计过程详解 457
17.5.5 粲花之论——范例开发手记 461
17.5.6 花样翻新——进阶与提高 462
第3篇 项目实战篇
第18章 Word自动化控制
——轻松办公助手
6个编程技术要点
3个编程技巧说明
3个编程注意事项
18.1 Word自动化控制模块概述 465
18.1.1 开发背景 465
18.1.2 需求分析 465
18.1.3 功能结构图 465
18.2 技术攻关 466
18.2.1 引用FileSystemObject对象 466
18.2.2 应用PageSetup对象设置页面 467
18.2.3 应用Range\Find对象的Execute方法实现查找替换 468
18.2.4 编辑页码提取目录 469
18.2.5 应用ShellExecute函数打印Word文档 474
18.2.6 应用BuiltInDocumentProperties属性获取文档属性 474
18.3 主窗体设计 475
18.3.1 功能概述 475
18.3.2 MDI主窗体设计 476
18.3.3 在列表中显示Word文件 478
18.3.4 文档打印 479
18.3.5 文档属性 479
18.4 文档设置 481
18.4.1 功能概述 481
18.4.2 窗体设计 481
18.4.3 设置页边距、纸型和页眉页脚 482
18.5 文档修改 483
18.5.1 功能概述 483
18.5.2 窗体设计 483
18.5.3 文档修改 484
18.6 文档处理 485
18.6.1 功能概述 485
18.6.2 窗体设计 486
18.6.3 统计、编辑页码并提取目录 486
18.7 疑难问题分析与解决 488
18.7.1 获取文件属性的字符串 488
18.7.2 如何实现目录的提取 488
18.8 开发总结 489
第19章 桌面联系人管理
——沟通交流常用软件
7个编程技术要点
3个编程技巧说明
2个编程注意事项
19.1 桌面联系人管理模块概述 491
19.1.1 开发背景 491
19.1.2 需求分析 491
19.1.3 功能结构图 491
19.1.4 程序预览 491
19.2 数据库设计 493
19.2.1 数据库分析 493
19.2.2 创建数据库 493
19.2.3 创建数据表 495
19.3 技术公关 497
19.3.1 树状结构展现联系人信息 497
19.3.2 数据库某一字段的自动编码技术 500
19.3.3 用DataGrid控件显示数据库信息 501
19.3.4 制作移动、闪烁的文字效果 502
19.3.5 将窗体最小化到托盘技术 504
19.4 各模块设计 506
19.4.1 公共模块设计 506
19.4.2 主窗体设计 508
19.4.3 联系人查询模块设计 511
19.4.4 联系人信息管理模块设计 512
19.4.5 群组管理模块设计 517
19.5 程序调试和技术处理 520
19.5.1 连接数据库出错 520
19.5.2 解决写错字段信息的问题 521
19.6 开发总结 522
第20章 电子相册
——休闲娱乐必备
5个编程技术要点
3个编程注意事项
20.1 电子相册模块概述 524
20.1.1 开发背景 524
20.1.2 需求分析 524
20.1.3 功能结构图 524
20.2 技术攻关 525
20.2.1 图片翻页效果实现 525
20.2.2 使用FSO对象操作文件夹和文件 527
20.2.3 分页浏览图片 529
20.2.4 按比例缩小图片 530
20.2.5 文件夹浏览器 531
20.3 主窗体设计 532
20.3.1 功能概述 532
20.3.2 窗体设计 533
20.3.3 窗体初始化 534
20.3.4 相册预览 535
20.3.5 删除相册 535
20.3.6 相片管理 536
20.4 相册管理 537
20.4.1 功能描述 537
20.4.2 窗体设计 537
20.4.3 创建和修改相册 537
20.5 相册浏览设计 539
20.5.1 功能概述 539
20.5.2 窗体设计 539
20.5.3 图片准备 540
20.5.4 翻到“下一页” 540
20.5.5 翻到“前一页” 541
20.6 幻灯播放设计 542
20.6.1 功能概述 542
20.6.2 窗体设计 543
20.6.3 窗体初始化 543
20.6.4 动态循环显示图片 544
20.7 查看原图片 545
20.7.1 功能描述 545
20.7.2 窗体设计 546
20.7.3 大图浏览的实现 546
20.8 程序调试及错误处理 547
20.8.1 “移动到”按钮菜单的动态加载错误 547
20.8.2 路径未找到的错误处理 547
20.9 开发总结 548
第21章 教职工管理系统
——毕业设计首选程序
6个编程技术要点
3个编程技巧说明
9个编程注意事项
21.1 教职工管理系统模块概述 550
21.1.1 开发背景 550
21.1.2 需求分析 550
21.1.3 功能结构图 550
21.2 数据库设计 551
21.2.1 数据库分析 551
21.2.2 创建数据库 551
21.2.3 创建数据表 552
21.3 技术攻关 556
21.3.1 设计Outlook式导航栏 556
21.3.2 用二进制方法在数据库中存取图片 557
21.3.3 设计万能批量修改器 557
21.3.4 初始化数据库中的表 561
21.4 各模块设计 562
21.4.1 公共模块设计 562
21.4.2 系统登录窗体设计 563
21.4.3 主窗体设计 564
21.4.4 院系信息管理模块设计 568
21.4.5 教职工基本信息管理模块设计 572
21.4.6 教职工考勤模块设计 579
21.4.7 教职工工资模块设计 581
21.4.8 教职工福利模块设计 585
21.5 程序调试和错误处理 588
21.5.1 连接数据库出错 588
21.5.2 读取数据库中字段为空值 589
21.5.3 数据结果集没有关闭出错 589
21.5.4 书写错误的函数名 590
21.5.5 用户定义类型未定义 590
21.5.6 写错字段信息 591
21.5.7 字段大小问题导致数据添加失败 592
21.5.8 字段设置主键后不能插入重复值 592
21.5.9 加载非图片类型文件出错 593
21.6 开发总结 594
第4篇 商业系统篇
第22章 小型ERP管理系统
——企业资源管理助手
5个编程技巧说明
5个编程注意事项
22.1 概述 597
22.1.1 开发背景 597
22.1.2 需求分析 597
22.1.3 开发工具选择 597
22.2 系统设计 597
22.2.1 系统目标 597
22.2.2 系统功能结构 598
22.2.3 系统预览 598
22.2.4 编码设计 601
20.2.5 开发及运行环境 602
22.3 数据库设计 602
22.3.1 数据库概要说明 602
22.3.2 数据库创建 603
22.4 功能模块构思 609
22.5 公共模块设计 610
22.6 主要功能模块设计 611
22.6.1 用户登录模块 611
22.6.2 主窗体设计 612
22.6.3 部门管理模块设计 618
22.6.4 人事信息管理 622
22.6.5 考勤信息管理模块设计 628
22.6.6 工资信息管理模块设计 632
22.6.7 合同管理模块设计 636
22.6.8 入库管理 640
22.6.9 入库统计 646
22.6.10 入库分析 648
22.6.11 消费分析表 649
22.6.12 库存盘点 652
22.6.13 万能查询器设计 655
22.6.14 操作权限设计 657
22.7 报表打印 659
22.7.1 数据环境对象的创建 660
22.7.2 Connection对象 661
22.7.3 Command对象 662
22.7.4 使用DataReport创建报表 663
22.7.5 通过Excel打印 666
22.8 疑难问题分析与解决 668
22.8.1 使用ADO对象将员工相片保存到SQL Server数据库中 668
22.8.2 根据数据字段类型自动格式化DataGrid表格中的数据 669
22.9 程序调试及错误处理 669
22.9.1 解决“Select”附近的语法错误 669
22.9.2 解决保存数据过长的错误 669
22.10 开发总结 670