第1部分 基础知识
第1章 Visual Basic集成开发环境3
视频讲解:138分钟
1.1 Visual Basic简介4
1.1.1 Visual Basic概述4
1.1.2 Visual Basic 6.0的特点4
1.1.3 Visual Basic 6.0的局限性5
1.2 学习Visual Basic的好处5
1.2.1 Visual Basic可以做什么5
1.2.2 学习VB的几点建议6
1.3 VB开发环境的安装和程序启动7
1.3.1 Visual Basic 6.0的运行环境7
1.3.2 Visual Basic 6.0+SP6的安装7
1.3.3 Visual Basic 6.0的启动9
1.4 Visual Basic 6.0的集成开发环境10
1.4.1 集成开发环境简介10
1.4.2 菜单栏11
1.4.3 工具栏13
1.4.4 工具箱14
1.4.5 工程资源管理器16
1.4.6 属性窗口17
1.4.7 窗体布局窗口18
1.4.8 窗体设计器18
1.4.9 代码编辑窗口19
1.5 VB的MDI和SDI开发环境19
1.5.1 多文档界面开发环境20
1.5.2 单文档界面开发环境20
1.6 开发环境使用技巧20
1.6.1 设置启动时保存21
1.6.2 自定义工具栏22
1.6.3 为代码编辑器设置鼠标滚动22
1.6.4 设置网格大小和不对齐到网格23
1.6.5 设置在编辑器中要求变量声明24
1.6.6 规范代码缩进格式24
1.7 Visual Basic 6.0的帮助系统25
1.7.1 MSDN Library的安装与使用25
1.7.2 利用附带的实例源程序学习编程26
1.7.3 使用Visual Basic的帮助菜单27
1.8 创建第一个VB程序27
1.8.1 创建工程文件28
1.8.2 设计界面28
1.8.3 编写代码28
1.8.4 调试运行29
1.8.5 保存工程29
1.8.6 编译程序30
1.9 利用应用程序向导自动生成应用程序30
1.10 小结33
1.11 实战练习33
第2章 VB语言基础35
视频讲解:104分钟
2.1 关键字和标识符36
2.2 基本数据类型36
2.2.1 字符型37
2.2.2 数值型38
2.2.3 布尔型39
2.2.4 日期型39
2.2.5 变体型40
2.2.6 对象型40
2.3 记录类型41
2.4 枚举类型42
2.5 变量43
2.5.1 什么是变量43
2.5.2 变量的命名43
2.5.3 变量的声明44
2.6 变量的作用域46
2.6.1 静态变量47
2.6.2 变量同名问题的处理47
第1部分 基础知识
第1章 Visual Basic集成开发环境3
视频讲解:138分钟
1.1 Visual Basic简介4
1.1.1 Visual Basic概述4
1.1.2 Visual Basic 6.0的特点4
1.1.3 Visual Basic 6.0的局限性5
1.2 学习Visual Basic的好处5
1.2.1 Visual Basic可以做什么5
1.2.2 学习VB的几点建议6
1.3 VB开发环境的安装和程序启动7
1.3.1 Visual Basic 6.0的运行环境7
1.3.2 Visual Basic 6.0+SP6的安装7
1.3.3 Visual Basic 6.0的启动9
1.4 Visual Basic 6.0的集成开发环境10
1.4.1 集成开发环境简介10
1.4.2 菜单栏11
1.4.3 工具栏13
1.4.4 工具箱14
1.4.5 工程资源管理器16
1.4.6 属性窗口17
1.4.7 窗体布局窗口18
1.4.8 窗体设计器18
1.4.9 代码编辑窗口19
1.5 VB的MDI和SDI开发环境19
1.5.1 多文档界面开发环境20
1.5.2 单文档界面开发环境20
1.6 开发环境使用技巧20
1.6.1 设置启动时保存21
1.6.2 自定义工具栏22
1.6.3 为代码编辑器设置鼠标滚动22
1.6.4 设置网格大小和不对齐到网格23
1.6.5 设置在编辑器中要求变量声明24
1.6.6 规范代码缩进格式24
1.7 Visual Basic 6.0的帮助系统25
1.7.1 MSDN Library的安装与使用25
1.7.2 利用附带的实例源程序学习编程26
1.7.3 使用Visual Basic的帮助菜单27
1.8 创建第一个VB程序27
1.8.1 创建工程文件28
1.8.2 设计界面28
1.8.3 编写代码28
1.8.4 调试运行29
1.8.5 保存工程29
1.8.6 编译程序30
1.9 利用应用程序向导自动生成应用程序30
1.10 小结33
1.11 实战练习33
第2章 VB语言基础35
视频讲解:104分钟
2.1 关键字和标识符36
2.2 基本数据类型36
2.2.1 字符型37
2.2.2 数值型38
2.2.3 布尔型39
2.2.4 日期型39
2.2.5 变体型40
2.2.6 对象型40
2.3 记录类型41
2.4 枚举类型42
2.5 变量43
2.5.1 什么是变量43
2.5.2 变量的命名43
2.5.3 变量的声明44
2.6 变量的作用域46
2.6.1 静态变量47
2.6.2 变量同名问题的处理47
2.7 常量48
2.7.1 常量的声明48
2.7.2 局部常量和全局常量49
2.8 运算符49
2.9 表达式51
2.9.1 什么是表达式51
2.9.2 表达式的种类51
2.9.3 运算符在表达式中的优先级53
2.10 语言基础应用技巧54
2.10.1 如何处理溢出54
2.10.2 正确使用“&”和“+”54
2.10.3 正确使用Or、Xor、And、Eqv、Imp
运算符55
2.11 小结56
2.12 实战练习56
第3章 算法和程序控制结构57
视频讲解:161分钟
3.1 算法58
3.1.1 什么是算法58
3.1.2 算法的特性59
3.1.3 算法的描述方法59
3.1.4 构成算法的基本控制结构62
3.2 顺序结构64
3.2.1 赋值语句64
3.2.2 数据的输入66
3.2.3 数据的输出67
3.3 选择结构68
3.3.1 单分支If…Then语句69
3.3.2 双分支If…Then…Else语句70
3.3.3 If语句的嵌套71
3.3.4 多分支If…Then…ElseIf语句75
3.3.5 Select Case语句76
3.3.6 IIf函数79
3.4 循环结构80
3.4.1 For…Next循环语句80
3.4.2 For Each…Next循环语句83
3.4.3 Do…Loop循环语句83
3.4.4 多重循环87
3.4.5 选择结构与循环结构的嵌套88
3.5 其他辅助控制语句89
3.5.1 跳转语句GoTo89
3.5.2 复用语句With…End With90
3.5.3 退出语句Exit91
3.5.4 结束语句End91
3.6 实战92
3.6.1 计算最大公约数和最小公倍数92
3.6.2 判断素数94
3.6.3 验证哥德巴赫猜想95
3.7 小结96
3.8 实战练习97
第4章 数组与集合99
视频讲解:111分钟
4.1 数组的概述100
4.1.1 数组的概念100
4.1.2 数组与简单变量的区别100
4.1.3 数组的分类100
4.2 静态数组101
4.2.1 静态数组的声明和使用101
4.2.2 一维数组102
4.2.3 二维数组104
4.2.4 多维数组105
4.3 动态数组106
4.3.1 动态数组的声明106
4.3.2 动态数组的使用106
4.3.3 数组的清除107
4.4 控件数组108
4.4.1 控件数组的概念108
4.4.2 控件数组的创建108
4.4.3 控件数组的使用109
4.4.4 加载和删除控件数组中的控件109
4.5 数组相关函数及语句111
4.5.1 使用Array函数创建数组111
4.5.2 使用UBound和LBound函数获取
数组上下标111
4.5.3 使用Split函数生成一维字符串数组112
4.5.4 使用Option Base语句声明数组下标
最大值113
4.6 集合113
4.6.1 集合的创建113
4.6.2 控件集合(Controls集合)114
4.7 实战117
4.7.1 动态添加和删除控件117
4.7.2 利用数组实现随机抽取幸运观众119
4.7.3 利用二维数组向网格控件中添加
背景图片120
4.8 小结122
4.9 实战练习122
第5章 过程123
视频讲解:84分钟
5.1 认识过程124
5.2 事件过程124
5.2.1 建立事件过程125
5.2.2 调用事件过程125
5.3 子过程(Sub过程)126
5.3.1 建立子过程126
5.3.2 调用子过程128
5.3.3 调用其他模块中的子过程129
5.4 函数过程(Function过程)129
5.4.1 建立函数过程129
5.4.2 调用函数过程130
5.4.3 函数过程与子过程的区别130
5.5 参数的传递131
5.5.1 认识参数131
5.5.2 参数按值和按地址传递132
5.5.3 数组参数134
5.5.4 对象参数135
5.6 嵌套过程136
5.7 递归过程137
5.8 属性过程(Property过程)138
5.8.1 使用属性过程建立类的属性138
5.8.2 使用类属性139
5.8.3 只读属性和对象属性140
5.9 工程中的模块140
5.9.1 窗体模块140
5.9.2 标准模块141
5.9.3 类模块142
5.9.4 标准模块与类模块的区别142
5.10 过程的作用域144
5.11 实战146
5.11.1 编写计算圆面积的函数过程146
5.11.2 自定义二进制转换为十进制的函数146
5.12 小结147
5.13 实战练习147
第6章 内置函数149
视频讲解:111分钟
6.1 字符串函数150
6.1.1 获取字符长度(Len函数)150
6.1.2 取左(右)面指定个数的字符(Left和
Right函数)151
6.1.3 截取字符串(Mid函数)152
6.1.4 获取字符出现的位置(InStr和InStrRev
函数)153
6.1.5 去除空格(Trim、RTrim、Ltrim
函数)155
6.1.6 将字符串转换为大(小)写(UCase和
LCase函数)156
6.2 数学函数158
6.2.1 求绝对值(Abs函数)158
6.2.2 求平方根(Sqr函数)158
6.2.3 e的n次方(Exp函数)159
6.2.4 求自然对数(Log函数)160
6.2.5 返回符号(Sgn函数)161
6.2.6 取整(Int和Fix函数)161
6.3 判断函数162
6.3.1 判断是否为数组(IsArray函数)162
6.3.2 判断是否为Null(IsNull函数)163
6.3.3 判断是否为数字(IsNumeric函数)164
6.4 类型转换函数164
6.4.1 转换为字符型(Str函数)164
6.4.2 转换为数值型(Val函数)165
6.4.3 转换为AscII(Asc函数)166
6.4.4 转换为字符(Chr函数)167
6.5 日期和时间函数168
6.5.1 Date、Now和Time函数168
6.5.2 Weekday函数168
6.5.3 返回年、月、日(Year、Month、Day
函数)170
6.5.4 返回时、分、秒(Hour、Minute、Second
函数)170
6.6 随机函数171
6.6.1 初始化随机数(Randomize函数)171
6.6.2 生成随机数(Rnd函数)171
6.7 格式化函数172
6.8 实战175
6.8.1 判断某个时间段里有多少个工作日175
6.8.2 数字时钟176
6.8.3 计算器178
6.9 小结179
6.10 实战练习179
第2部分 技术应用
第7章 窗体和系统对象183
视频讲解:152分钟
7.1 窗体概述184
7.1.1 窗体的结构184
7.1.2 模式窗体和无模式窗体184
7.1.3 SDI窗体和MDI窗体185
7.2 窗体的属性185
7.2.1 名称(Name属性)185
7.2.2 标题(Caption属性)186
7.2.3 图标(Icon属性)187
7.2.4 背景(Picture属性)187
7.2.5 边框样式(BorderStyle属性)188
7.3 窗体的事件190
7.3.1 单击和双击(Click/DbClick事件)190
7.3.2 载入和卸载(Load/QueryUnload/Unload
事件)191
7.3.3 初始化(Initialize事件)192
7.3.4 活动性(Activate/Deactivate事件)193
7.3.5 焦点事件(GotFocus/LostFocus事件)194
7.3.6 重绘(Paint事件)195
7.3.7 调整大小(Resize事件)196
7.4 窗体事件的生命周期196
7.5 窗体的方法199
7.5.1 加载窗体(Load方法)199
7.5.2 卸载窗体(Unload方法)199
7.5.3 显示窗体(Show方法)200
7.5.4 隐藏窗体(Hide方法)201
7.5.5 移动窗体(Move方法)201
7.5.6 清除窗体(Cls方法)202
7.5.7 在窗体上显示文本(Print方法)202
7.5.8 打印窗体(PrintForm方法)203
7.6 MDI窗体204
7.6.1 MDI窗体概述204
7.6.2 MDI窗体的创建204
7.6.3 在MDI窗体中添加控件205
7.6.4 MDI子窗体(MDIChild属性)206
7.6.5 MDI窗体的特点207
7.7 窗体应用技巧208
7.7.1 如何设置闪烁的窗体标题栏208
7.7.2 如何设置窗体前置209
7.7.3 如何拖动无标题栏窗体移动210
7.8 系统对象211
7.8.1 应用程序对象(APP对象)211
7.8.2 屏幕对象(Screen对象)215
7.8.3 剪贴板对象(Clipboard对象)216
7.8.4 调试对象(Debug对象)218
7.9 实战219
7.9.1 在窗口中平铺图片219
7.9.2 透明窗体220
7.9.3 利用APP对象防止程序重复221
7.9.4 利用Screen对象获得系统中的
可用字体222
7.9.5 记录剪贴板内容223
7.10 小结224
7.11 实战练习224
第8章 常用标准控件225
视频讲解:199分钟
8.1 控件概述226
8.1.1 控件的作用226
8.1.2 控件的分类226
8.1.3 控件的命名227
8.1.4 控件的属性、方法和事件228
8.2 控件的相关操作228
8.2.1 向窗体上添加控件228
8.2.2 设置控件大小和位置229
8.2.3 复制控件229
8.2.4 删除控件229
8.2.5 锁定控件230
8.2.6 使用窗体编辑器调整控件布局230
8.3 界面设计的基本原则231
8.4 标签控件(Label控件)232
8.4.1 标签控件概述232
8.4.2 标签控件常用属性233
8.4.3 利用标签控件实现鼠标交互效果234
8.5 文本框控件(TextBox控件)234
8.5.1 文本框控件概述234
8.5.2 文本框控件常用属性、方法和事件235
8.5.3 利用文本框控件实现用户登录238
8.6 命令按钮控件(CommandButton
控件)239
8.6.1 命令按钮概述239
8.6.2 命令按钮的常用属性和事件239
8.6.3 利用命令按钮实现加载图片的功能240
8.7 单选按钮、复选框及框架241
8.7.1 单选按钮(OptionButton控件)241
8.7.2 复选框(CheckBox控件)243
8.7.3 框架(Frame控件)243
8.7.4 设置字体显示效果244
8.8 列表框控件(ListBox控件)245
8.8.1 列表框控件概述245
8.8.2 列表框控件常用属性245
8.8.3 随机抽取列表框中数据249
8.9 组合框控件(ComboBox控件)250
8.9.1 组合框控件概述250
8.9.2 组合框控件常用属性、方法、事件250
8.9.3 改变ComboBox控件下拉列表框的长度252
8.10 滚动条控件(HScrollBar和VScrollBar
控件)253
8.10.1 滚动条控件概述253
8.10.2 滚动条控件的属性和事件253
8.10.3 利用滚动条浏览大幅图片254
8.11 时钟控件(Timer控件)255
8.11.1 Timer控件的属性和事件255
8.11.2 利用Timer控件设计小游戏256
8.12 实战257
8.12.1 利用基本控件实现显示学生信息257
8.12.2 为TextBox控件添加列表选择框259
8.13 小结260
8.14 实战练习260
第9章 常用ActiveX控件261
视频讲解:95分钟
9.1 ActiveX控件的使用262
9.1.1 ActiveX控件概述262
9.1.2 注册ActiveX控件262
9.1.3 添加ActiveX控件264
9.1.4 删除ActiveX控件264
9.2 图像列表控件(ImageList控件)265
9.2.1 认识ImageList控件265
9.2.2 添加图像265
9.2.3 与其他控件关联266
9.2.4 创建组合图像268
9.3 视图控件(ListView控件)269
9.3.1 认识ListView控件269
9.3.2 添加数据270
9.3.3 用ListView控件+数据表创建报表视图271
9.3.4 用ListView控件创建大图标视图272
9.4 树状控件(TreeView控件)273
9.4.1 认识TreeView控件274
9.4.2 添加数据274
9.4.3 删除指定节点数据276
9.4.4 节点展开与折叠276
9.4.5 用TreeView控件+数据表创建多级
树状视图276
9.5 选项卡控件(SSTab控件)280
9.5.1 认识SSTab控件280
9.5.2 设置选项卡数目和行数281
9.5.3 在选项卡中添加控件281
9.5.4 运行时启用和停用选项卡282
9.5.5 定制不同样式的选项卡282
9.5.6 图形化选项卡283
9.6 进度条控件(ProgressBar控件)284
9.6.1 认识ProgressBar控件284
9.6.2 显示进展情况284
9.6.3 将Max属性设置为已知的界限285
9.6.4 隐藏ProgressBar控件285
9.6.5 用ProgressBar控件显示清空数据的
进度285
9.7 日期/时间控件(DateTimePicker
控件)286
9.7.1 认识DateTimePicker控件286
9.7.2 设置和返回日期286
9.7.3 实时读取DTPicker控件中的日期287
9.7.4 使用CheckBox属性选择无日期287
9.7.5 使用日期和时间的格式288
9.7.6 使用DTPicker控件计算日期或天数289
9.8 实战290
9.8.1 用TreeView控件制作程序主界面290
9.8.2 利用ListView控件浏览数据291
9.9 小结293
9.10 实战练习294
第10章 菜单、工具栏和状态栏295
视频讲解:128分钟
10.1 菜单概述296
10.1.1 菜单的概念296
10.1.2 菜单的组成296
10.1.3 菜单的状态297
10.1.4 菜单编辑器297
10.2 标准菜单299
10.2.1 最简菜单299
10.2.2 菜单无效状态300
10.2.3 级联菜单301
10.2.4 菜单分割条301
10.2.5 复选菜单302
10.2.6 菜单的快捷键和访问键303
10.2.7 创建菜单数组304
10.2.8 修饰菜单305
10.2.9 为菜单事件添加代码305
10.3 弹出式菜单306
10.3.1 弹出式菜单概述306
10.3.2 PopupMenu方法306
10.3.3 弹出式菜单的设计和调用307
10.3.4 利用弹出式菜单为无标题栏窗体
添加菜单308
10.4 菜单的编程310
10.4.1 菜单的多列显示310
10.4.2 可伸缩的菜单项312
10.4.3 为菜单添加图标313
10.4.4 菜单复制器314
10.5 工具栏设计318
10.5.1 工具栏概述318
10.5.2 利用Toolbar控件创建最简工具栏318
10.5.3 为工具栏按钮添加图片319
10.5.4 为工具栏按钮设置分组320
10.5.5 为工具栏添加下拉菜单321
10.5.6 给工具栏按钮添加事件处理代码322
10.6 状态栏设计323
10.6.1 状态栏概述323
10.6.2 利用状态栏显示操作员信息324
10.6.3 利用状态栏显示日期、时间324
10.6.4 利用状态栏显示鼠标位置325
10.7 实战326
10.7.1 改变菜单的颜色326
10.7.2 托盘上的弹出式菜单326
10.7.3 向工具栏中添加ComboBox控件327
10.7.4 在状态栏中显示窗体信息328
10.8 小结329
10.9 实战练习329
第11章 对话框331
视频讲解:47分钟
11.1 输入对话框332
11.2 消息对话框333
11.3 公用对话框335
11.3.1 公用对话框概述335
11.3.2 “打开”对话框337
11.3.3 “另存为”对话框338
11.3.4 “颜色”对话框339
11.3.5 “字体”对话框340
11.3.6 “打印”对话框341
11.3.7 “帮助”对话框341
11.4 实战342
11.4.1 使用“打开”对话框打开图片342
11.4.2 读取并保存INI文件343
11.4.3 使用“颜色”对话框设置文字颜色344
11.5 小结345
11.6 实战练习345
第12章 文件系统编程347
视频讲解:115分钟
12.1 文件的基本概念348
12.1.1 文件的一般结构348
12.1.2 文件的分类348
12.1.3 文件的访问方式349
12.2 顺序文件350
12.2.1 打开顺序文件350
12.2.2 关闭顺序文件351
12.2.3 读取顺序文件351
12.2.4 写入顺序文件354
12.3 随机文件356
12.3.1 随机文件的特点356
12.3.2 打开随机文件357
12.3.3 关闭随机文件357
12.3.4 读取随机文件357
12.3.5 写入随机文件358
12.4 二进制文件359
12.4.1 打开二进制文件359
12.4.2 二进制文件的关闭360
12.4.3 二进制文件的读取与写入操作360
12.5 文件操作函数361
12.5.1 利用CurDir函数获取路径361
12.5.2 利用FileLen函数返回文件长度362
12.5.3 利用EOF函数测试文件结束状态362
12.5.4 利用LOF函数获取打开文件的大小363
12.5.5 利用GetAttr函数获取文件属性363
12.5.6 利用FileDateTime函数获取文件创建或
修改时间364
12.6 文件操作语句364
12.6.1 利用FileCopy语句复制文件364
12.6.2 利用Name语句重命名文件365
12.6.3 利用Kill语句删除文件366
12.6.4 利用ChDrive语句改变当前驱动器367
12.6.5 利用ChDir语句改变目录或文件夹368
12.6.6 利用MkDir语句创建目录或文件夹368
12.6.7 利用SetAttr语句设置文件属性368
12.7 文件系统控件369
12.7.1 驱动器列表框(DriveListBox控件)369
12.7.2 目录列表框(DirListBox控件)371
12.7.3 文件列表框(FileListBox控件)372
12.7.4 利用文件系统控件读取文件376
12.8 实战377
12.8.1 批量移动文件377
12.8.2 文件及文件夹名提取器378
12.8.3 文档编辑器381
12.9 小结386
12.10 实战练习386
第13章 图形图像技术387
视频讲解:89分钟
13.1 坐标系统388
13.1.1 默认的坐标系统388
13.1.2 自定义的坐标系统388
13.2 图形图像中的颜色390
13.2.1 QBColor函数390
13.2.2 RGB函数391
13.3 图形处理控件391
13.3.1 Line控件391
13.3.2 利用Line控件设计分割线392
13.3.3 Shape控件393
13.4 图像处理控件394
13.4.1 Image控件394
13.4.2 利用Image控件制作小动画395
13.4.3 PictureBox控件395
13.4.4 利用PictureBox控件浏览大幅图片396
13.5 图形属性397
13.5.1 使用CurrentX和CurrentY属性
绘图坐标397
13.5.2 使用BackColor和ForeColor属性
设置背景色和前景色399
13.5.3 使用FillColor和FillStyle属性设置
填充效果400
13.5.4 使用DrawWidth、DrawStyle和
DrawMode属性设置绘制效果401
13.5.5 使用BorderStyle、BorderWidth和BorderColor
属性设置图形的边框效果404
13.6 图形方法405
13.6.1 使用Cls方法清屏405
13.6.2 使用PSet方法画点406
13.6.3 使用Point方法获取颜色值406
13.6.4 使用Line方法画线407
13.6.5 使用Circle方法画圆408
13.6.6 使用PaintPicture方法绘制图形410
13.7 图形方法应用实例411
13.7.1 绘制矩形411
13.7.2 绘制彩色圆饼412
13.7.3 绘制抛物线412
13.8 图像处理函数413
13.8.1 使用LoadPicture函数加载图像413
13.8.2 使用SavePicture函数保存图片414
13.9 实战415
13.9.1 利用图片实现电影胶片的效果415
13.9.2 万花筒416
13.9.3 屏幕放大镜418
13.10 小结421
13.11 实战练习422
第14章 多媒体技术423
视频讲解:50分钟
14.1 MMControl控件424
14.1.1 认识MMControl控件424
14.1.2 MMControl控件的属性424
14.1.3 MMControl控件的事件429
14.2 MediaPlay控件430
14.2.1 认识MediaPlay控件430
14.2.2 MediaPlay控件的属性430
14.2.3 MediaPlay控件的方法431
14.3 ShockwaveFlash控件431
14.3.1 认识ShockwaveFlash控件432
14.3.2 ShockwaveFlash控件的属性432
14.3.3 ShockwaveFlash控件的方法433
14.3.4 ShockwaveFlash控件的事件433
14.4 Animation控件434
14.4.1 认识Animation控件434
14.4.2 Animation控件的属性435
14.4.3 Animation控件的方法435
14.5 DirectX436
14.5.1 下载和安装DirectX436
14.5.2 在VB中使用DirectX437
14.5.3 利用DirectSound编程实现实时混音437
14.6 实战440
14.6.1 CD播放器440
14.6.2 VCD播放器441
14.6.3 多媒体演示程序443
14.7 小结444
14.8 实战练习444
第15章 鼠标键盘处理445
视频讲解:52分钟
15.1 鼠标指针的设置446
15.1.1 设置鼠标指针形状446
15.1.2 设置鼠标为指定的图片447
15.1.3 设置鼠标为指定的动画448
15.1.4 设置窗体的鼠标样式449
15.1.5 设置系统的鼠标样式451
15.2 鼠标事件的响应454
15.2.1 鼠标单击和双击事件(Click和DbClick
事件)454
15.2.2 鼠标按下和抬起(MouseDown和MouseUp
事件)455
15.2.3 鼠标移动事件(MouseMove事件)456
15.3 拖放操作457
15.3.1 与拖放相关的属性(DragMode和DragIcon
属性)457
15.3.2 与拖放相关的事件(DragDrop和DragOver
事件)458
15.3.3 与拖放相关的方法(Move和Drag
方法)460
15.4 键盘事件的响应462
15.4.1 KeyDown事件和KeyUp事件的使用462
15.4.2 KeyPress事件的使用464
15.5 实战464
15.5.1 交换鼠标左右键464
15.5.2 鼠标跟随465
15.5.3 为程序设置热键467
15.6 小结468
15.7 实战练习468
第16章 数据库开发技术469
视频讲解:94分钟
16.1 VB访问数据库470
16.2 ODBC470
16.2.1 认识ODBC470
16.2.2 配置ODBC数据源471
16.3 Data控件473
16.3.1 认识Data控件473
16.3.2 用Data控件连接数据库473
16.3.3 Data控件的综合应用474
16.4 DAO对象475
16.4.1 引用DAO对象475
16.4.2 DAO对象的子对象476
16.4.3 DAO对象的综合应用480
16.5 ADO控件483
16.5.1 认识ADO控件484
16.5.2 用ADO控件连接各种数据源484
16.5.3 用ADO控件连接记录源486
16.5.4 ADO控件常用属性、方法和事件486
16.5.5 ADO控件的综合应用487
16.6 ADO对象488
16.6.1 引用ADO对象488
16.6.2 ADO对象的子对象489
16.6.3 连接多种数据库(Connection对象)490
16.6.4 连接记录源(Recordset对象)491
16.6.5 执行SQL语句(Command对象)493
16.6.6 ADO对象的综合应用494
16.7 RDO控件(远程数据控件)495
16.7.1 引用RDO控件到工程中495
16.7.2 RDO控件与数据访问相关的属性496
16.7.3 使用RDO控件连接远程数据库497
16.8 数据库增、删、改、查技巧498
16.8.1 存取字段数据的几种方法498
16.8.2 使用数据绑定控件实现增、删、改499
16.8.3 非绑定控件的增、删、改500
16.8.4 使用ADO对象实现增、删、改500
16.9 实战502
16.9.1 获取SQL Server服务器中的所有
数据库502
16.9.2 使用Openschema方法读取数据库结构503
16.10 小结504
16.11 实战练习504
第17章 数据库控件505
视频讲解:70分钟
17.1 DBCombo和DBList控件506
17.2 DataCombo和DataList控件507
17.2.1 认识DataCombo和DataList控件507
17.2.2 DataCombo和DataList控件的属性507
17.2.3 显示关系表中的数据508
17.3 DataGrid控件509
17.3.1 认识DataGrid控件510
17.3.2 用DataGrid控件显示数据510
17.3.3 格式化数据512
17.3.4 锁定数据512
17.3.5 将DataGrid控件中的数据显示在
文本框中513
17.4 MSFlexGrid和MSHFlexGrid控件513
17.4.1 认识MSHFlexGrid控件514
17.4.2 用MSHFlexGrid控件显示数据514
17.4.3 数据排序与合并516
17.4.4 隐藏行或列517
17.4.5 冻结字段518
17.5 实战518
17.5.1 加载企业部门名称518
17.5.2 驾驶员档案查询521
17.5.3 结账统计报表522
17.6 小结526
17.7 实战练习526
第18章 数据环境设计器及报表生成527
视频讲解:110分钟
18.1 添加数据环境对象528
18.2 Connection对象529
18.2.1 添加Connection对象529
18.2.2 连接Connection对象529
18.3 Command对象531
18.3.1 创建Command对象531
18.3.2 Command对象的层次结构533
18.3.3 字段映射538
18.4 DataReport报表539
18.4.1 在工程中添加数据报表设计器539
18.4.2 数据报表设计器简介539
18.4.3 DataReport对象的属性和方法540
18.4.4 设计简单的报表541
18.5 实战543
18.5.1 创建数据窗体543
18.5.2 添加、删除和修改记录544
18.5.3 向报表中添加日期、时间及页码546
18.5.4 主明细报表547
18.5.5 分组统计550
18.6 小结551
18.7 实战练习551
第19章 程序调试和错误处理553
视频讲解:30分钟
19.1 常见错误554
19.1.1 编译时错误554
19.1.2 运行时错误554
19.1.3 逻辑错误554
19.2 VB的调试工具555
19.2.1 设置自动语法检查555
19.2.2 利用VB的调试工具栏556
19.3 工作模式557
19.3.1 设计模式557
19.3.2 运行模式557
19.3.3 中断模式557
19.4 调试方法558
19.4.1 控制程序的执行558
19.4.2 设置断点558
19.4.3 使用立即窗口559
19.4.4 使用本地窗口559
19.4.5 使用监视窗口560
19.5 错误处理语句和对象561
19.5.1 Err对象561
19.5.2 捕获错误(On Error语句)562
19.5.3 退出错误处理(Resume语句)562
19.5.4 编写错误处理函数563
19.6 常见错误的处理564
19.6.1 解决使用SetFocus方法时“无效的过程
调用或参数”错误564
19.6.2 处理“对象变量或With块变量未设置”
错误564
19.6.3 解决“找不到工程和库”错误564
19.6.4 解决没有启动窗体错误564
19.6.5 解决数组声明时“要求常量表达式”
错误565
19.7 小结566
第3部分 项目实战
第20章 企业人事管理系统569
视频讲解:248分钟
20.1 需求分析570
20.2 系统设计570
20.2.1 系统目标570
20.2.2 系统功能结构570
20.2.3 系统预览571
20.3 数据库设计572
20.3.1 数据库概要说明572
20.3.2 数据库概念结构设计573
20.3.3 数据库逻辑结构设计575
20.3.4 触发器的创建577
20.3.5 自动计算列的创建580
20.4 公共模块设计581
20.5 主窗体设计582
20.5.1 主窗体概述582
20.5.2 技术分析583
20.5.3 MDI主窗体实现过程584
20.5.4 菜单实现过程585
20.5.5 工具栏实现过程586
20.5.6 背景图窗体自适应587
20.6 添加员工信息模块设计588
20.6.1 添加员工信息模块概述588
20.6.2 技术分析588
20.6.3 添加员工信息模块的窗体设计592
20.6.4 使“编号”文本框获得焦点592
20.6.5 初始化列表项593
20.6.6 控件焦点的自动转移594
20.6.7 选择员工照片595
20.6.8 添加/修改员工信息595
20.7 添加/修改部门信息模块设计597
20.7.1 添加/修改部门信息模块概述597
20.7.2 技术分析598
20.7.3 添加/修改部门信息模块的窗体设计599
20.7.4 添加/修改部门信息模块的初始化600
20.7.5 添加或修改部门信息600
20.8 添加/修改出勤模块设计601
20.8.1 添加/修改出勤模块概述601
20.8.2 技术分析602
20.8.3 添加/修改出勤模块的窗体设计603
20.8.4 选择员工604
20.8.5 添加/修改出勤608
20.9 员工公出/请假模块设计612
20.9.1 员工公出/请假模块概述612
20.9.2 员工公出/请假模块窗体设计612
20.9.3 技术分析613
20.9.4 添加或修改员工公出/请假模块
实现过程614
20.9.5 员工公出/请假模块实现过程615
20.10 工资信息管理模块设计618
20.10.1 工资信息管理模块概述618
20.10.2 技术分析618
20.10.3 工资信息管理模块的窗体设计620
20.10.4 选择工资月份621
20.10.5 查询工资信息622
20.10.6 工资信息导为Excel表623
20.10.7 修改工资信息623
20.10.8 批量修改工资信息624
20.10.9 过期工资处理624
20.11 文件清单625
20.12 小结626
第21章 叶子图像处理专家627
视频讲解:96分钟
21.1 需求分析628
21.2 系统设计628
21.2.1 系统目标628
21.2.2 系统功能结构628
21.3 系统运行环境629
21.4 创建项目629
21.5 启动窗体的设计629
21.5.1 设计窗体界面630
21.5.2 添加资源文件631
21.5.3 代码注册Flash控件632
21.5.4 调用Flash动画632
21.6 主窗体设计633
21.6.1 设计窗体界面634
21.6.2 设计菜单栏634
21.6.3 设计状态栏636
21.6.4 窗体初始化637
21.6.5 工具栏调用系统功能637
21.6.6 打开图片639
21.6.7 显示历史图片640
21.6.8 撤销/重复执行641
21.6.9 浏览大幅图片643
21.7 图像旋转644
21.7.1 图像旋转窗体的设计645
21.7.2 使用二次插值法缩放图片645
21.7.3 设置旋转角度648
21.8 图像的剪切与合成650
21.8.1 设计图像合成窗体650
21.8.2 利用资源文件加载剪切鼠标651
21.8.3 图像的剪切651
21.8.4 选择合成方式652
21.8.5 设置合成图片的坐标位置653
21.8.6 图像的合成653
21.9 设置图片大小653
21.9.1 窗体界面设计654
21.9.2 锁定纵横比率654
21.9.3 调整图片的大小655
21.10 “滤镜”窗体的设计656
21.10.1 设计“滤镜”窗体界面656
21.10.2 选择滤镜657
21.10.3 图片预览659
21.10.4 应用到主窗体图片上659
21.11 滤镜算法660
21.11.1 图像锐化算法660
21.11.2 图像柔化算法661
21.11.3 图像浮雕算法662
21.11.4 图像扩散算法663
21.11.5 图像轮廓算法665
21.11.6 图像饱和度算法666
21.11.7 图像亮度算法667
21.12 运行项目669
21.13 程序打包670
21.14 开发常见问题与解决670
21.14.1 图像框中不显示输出图像670
21.14.2 Win32系统错误处理671
21.15 小结671
第22章 个人文档管理系统673
视频讲解:9分钟
22.1 需求分析674
22.2 系统设计674
22.2.1 系统功能结构674
22.2.2 系统预览674
22.2.3 业务流程图675
22.3 系统运行环境676
22.4 数据库设计676
22.4.1 数据库概要说明676
22.4.2 数据库概念设计677
22.4.3 主要数据表结构677
22.5 数据模块设计679
22.6 主窗体界面设计679
22.7 文档类别管理680
22.8 文档信息添加680
22.9 文档信息查询681
22.10 文档信息打印681
22.11 小结682
第23章 无纸化考试系统683
视频讲解:11分钟
23.1 需求分析684
23.2 系统分析684
23.2.1 需求分析684
23.2.2 可行性分析684
23.3 系统设计684
23.3.1 系统目标684
23.3.2 系统功能结构685
23.3.3 系统预览685
23.3.4 业务流程图687
23.4 系统运行环境687
23.5 数据库设计687
23.5.1 数据库概要说明687
23.5.2 数据库概念设计688
23.5.3 数据库逻辑设计689
23.6 公共模块设计691
23.7 系统登录模块设计693
23.7.1 系统登录模块概述693
23.7.2 系统登录技术分析693
23.8 主窗体设计694
23.8.1 主窗体模块概述694
23.8.2 主窗体模块技术分析695
23.9 考试窗体设计695
23.9.1 考试窗体模块概述695
23.9.2 考试窗体技术分析696
23.10 后台管理员窗体设计697
23.10.1 管理窗体模块概述697
23.10.2 管理窗体技术分析698
23.11 修改试题窗体设计699
23.11.1 修改试题窗体概述699
23.11.2 修改试题窗体技术分析699
23.12 开发技巧与难点分析700
23.13 小结701
第24章 局域网聊天系统703
视频讲解:7分钟
24.1 需求分析704
24.2 系统设计704
24.2.1 系统目标704
24.2.2 系统功能结构704
24.2.3 系统预览705
24.2.4 业务流程图706
24.3 数据库设计706
24.3.1 数据库概要说明706
24.3.2 数据库概念设计706
24.3.3 数据库逻辑设计707
24.3.4 触发器的创建708
24.4 公共模块711
24.5 主窗体714
24.6 系统登录模块设计714
24.7 通话模块714
24.8 添加好友模块715
24.9 好友分组模块715
24.10 系统服务器716
24.11 开发技巧与难点分析716
24.11.1 窗体透明716
24.11.2 Flash透明718
24.11.3 系统托盘及其应用719
24.12 小结719
附录A 代码编写规则721
附录B VB内部函数725