第1部分 基础知识
第1章 Visual C++ 6.0开发环境3
视频讲解:94分钟
1.1 Visual C++ 6.0概述4
1.2 熟悉Visual C++ 6.0开发环境4
1.2.1 菜单介绍5
1.2.2 工具栏介绍13
1.2.3 工作区介绍14
1.2.4 代码编辑窗口介绍16
1.2.5 控件面板介绍17
1.2.6 Output(输出)窗口介绍18
1.3 定制Visual C++ 6.0开发环境19
1.3.1 设计自己的工具栏窗口19
1.3.2 调整代码文本颜色20
1.3.3 批量注释21
1.4 使用MSDN帮助工具24
1.5 创建工程25
1.5.1 创建一个简单的工程26
1.5.2 设计程序界面28
1.5.3 为控件关联成员变量29
1.5.4 编写程序代码30
1.5.5 编译并运行工程30
1.5.6 发布应用程序30
1.6 小结31
第2章 程序设计基础33
视频讲解:220分钟
2.1 程序设计基本要素34
2.1.1 标识符34
2.1.2 关键字34
2.1.3 常量35
2.1.4 变量36
2.1.5 寄存器变量37
2.1.6 静态变量37
2.1.7 外部变量38
2.1.8 自动变量39
2.1.9 注释39
2.2 数据类型41
2.2.1 简单数据类型41
2.2.2 布尔类型43
2.2.3 数组类型43
2.2.4 枚举类型45
2.2.5 结构体类型47
2.2.6 共用体类型51
2.2.7 指针类型51
2.2.8 引用类型57
2.2.9 类型别名58
2.3 类型转换59
2.3.1 数值类型转换59
2.3.2 静态转换60
2.3.3 动态转换61
2.3.4 常量转换61
2.3.5 重解释转换63
2.3.6 数值类型与字符串之间的转换63
2.4 运算符65
2.4.1 赋值运算符65
2.4.2 算术运算符66
2.4.3 关系运算符和逻辑运算符68
2.4.4 递增递减运算符70
2.4.5 位运算符71
2.4.6 sizeof运算符75
2.4.7 new和delete运算符77
2.4.8 优先级78
2.5 表达式79
2.5.1 逗号表达式79
2.5.2 条件表达式80
2.6 实战80
2.6.1 字符串加密与解密81
2.6.2 反转输出字符串83
2.6.3 输出系统日期和时间84
2.7 小结86
2.8 实战练习86
第1部分 基础知识
第1章 Visual C++ 6.0开发环境3
视频讲解:94分钟
1.1 Visual C++ 6.0概述4
1.2 熟悉Visual C++ 6.0开发环境4
1.2.1 菜单介绍5
1.2.2 工具栏介绍13
1.2.3 工作区介绍14
1.2.4 代码编辑窗口介绍16
1.2.5 控件面板介绍17
1.2.6 Output(输出)窗口介绍18
1.3 定制Visual C++ 6.0开发环境19
1.3.1 设计自己的工具栏窗口19
1.3.2 调整代码文本颜色20
1.3.3 批量注释21
1.4 使用MSDN帮助工具24
1.5 创建工程25
1.5.1 创建一个简单的工程26
1.5.2 设计程序界面28
1.5.3 为控件关联成员变量29
1.5.4 编写程序代码30
1.5.5 编译并运行工程30
1.5.6 发布应用程序30
1.6 小结31
第2章 程序设计基础33
视频讲解:220分钟
2.1 程序设计基本要素34
2.1.1 标识符34
2.1.2 关键字34
2.1.3 常量35
2.1.4 变量36
2.1.5 寄存器变量37
2.1.6 静态变量37
2.1.7 外部变量38
2.1.8 自动变量39
2.1.9 注释39
2.2 数据类型41
2.2.1 简单数据类型41
2.2.2 布尔类型43
2.2.3 数组类型43
2.2.4 枚举类型45
2.2.5 结构体类型47
2.2.6 共用体类型51
2.2.7 指针类型51
2.2.8 引用类型57
2.2.9 类型别名58
2.3 类型转换59
2.3.1 数值类型转换59
2.3.2 静态转换60
2.3.3 动态转换61
2.3.4 常量转换61
2.3.5 重解释转换63
2.3.6 数值类型与字符串之间的转换63
2.4 运算符65
2.4.1 赋值运算符65
2.4.2 算术运算符66
2.4.3 关系运算符和逻辑运算符68
2.4.4 递增递减运算符70
2.4.5 位运算符71
2.4.6 sizeof运算符75
2.4.7 new和delete运算符77
2.4.8 优先级78
2.5 表达式79
2.5.1 逗号表达式79
2.5.2 条件表达式80
2.6 实战80
2.6.1 字符串加密与解密81
2.6.2 反转输出字符串83
2.6.3 输出系统日期和时间84
2.7 小结86
2.8 实战练习86
第3章 流程控制87
视频讲解:84分钟
3.1 简单语句88
3.2 复合语句88
3.3 分支语句90
3.3.1 if条件语句90
3.3.2 switch分支语句94
3.4 循环语句99
3.4.1 for循环语句99
3.4.2 while循环语句103
3.4.3 do while循环语句105
3.5 跳转语句106
3.5.1 goto语句106
3.5.2 return语句108
3.5.3 exit语句109
3.6 实战110
3.6.1 对数组元素排序110
3.6.2 统计学生成绩的最高分、最低分和平均值111
3.6.3 解析字符串113
3.7 小结114
3.8 实战练习114
第4章 函数115
视频讲解:122分钟
4.1 函数的定义116
4.1.1 函数的声明和定义116
4.1.2 函数的调用119
4.2 函数参数119
4.2.1 默认值参数119
4.2.2 const参数120
4.2.3 指针/引用参数121
4.2.4 数组参数123
4.2.5 内联函数127
4.3 重载函数127
4.3.1 定义重载函数127
4.3.2 隐藏重载函数130
4.4 函数递归调用131
4.5 函数指针133
4.6 函数模板135
4.6.1 函数模板应用135
4.6.2 重载函数模板136
4.7 作用域和生命期137
4.7.1 局部作用域137
4.7.2 全局作用域139
4.7.3 命名空间140
4.8 实战145
4.8.1 遍历磁盘目录145
4.8.2 数值排序147
4.9 小结148
4.10 实战练习148
第5章 类和对象149
视频讲解:243分钟
5.1 面向对象程序设计150
5.1.1 面向对象技术产生的背景150
5.1.2 面向对象的主要特征151
5.2 类的定义151
5.3 类的实例化——对象153
5.4 构造函数和析构函数156
5.4.1 构造函数157
5.4.2 复制构造函数159
5.4.3 析构函数161
5.5 特殊的类成员163
5.5.1 常量成员163
5.5.2 静态成员164
5.5.3 隐藏的this指针166
5.6 特殊的成员函数168
5.6.1 内联成员函数168
5.6.2 静态成员函数170
5.6.3 重载成员函数172
5.7 类成员指针174
5.7.1 类成员函数指针174
5.7.2 类数据成员指针175
5.8 继承176
5.8.1 单继承177
5.8.2 虚函数与动态绑定180
5.8.3 抽象类183
5.8.4 类型转换185
5.8.5 多继承187
5.8.6 虚继承189
5.9 运算符重载192
5.9.1 构造函数自动转换与禁止192
5.9.2 运算符重载193
5.10 友元函数和友元类196
5.11 类域200
5.12 嵌套类203
5.13 局部类205
5.14 类模板206
5.14.1 应用类模板206
5.14.2 类模板中的静态数据成员212
5.15 异常处理213
5.15.1 异常捕捉214
5.15.2 抛出异常215
5.16 实战217
5.16.1 递归遍历二叉树218
5.16.2 循环遍历二叉树221
5.17 小结227
5.18 实战练习227
第2部分 技术应用
第6章 对话框程序设计231
视频讲解:160分钟
6.1 创建对话框应用程序232
6.2 创建对话框233
6.2.1 设计对话框资源233
6.2.2 创建并显示对话框237
6.3 设置对话框属性242
6.3.1 使用属性窗口设置对话框属性242
6.3.2 使用代码设置对话框属性247
6.4 对话框布局249
6.4.1 向对话框中添加控件249
6.4.2 调整控件的Tab键顺序250
6.4.3 调整控件至相同的大小251
6.4.4 在对话框中对齐控件252
6.4.5 排列控件254
6.4.6 使用网格线进行界面布局257
6.4.7 测试对话框布局效果259
6.5 访问对话框中的控件259
6.5.1 使用类向导为控件关联变量259
6.5.2 利用控件ID获取控件窗口指针263
6.5.3 利用数据交换访问控件文本数据264
6.6 设置对话框和应用程序图标266
6.7 添加对话框成员和成员函数268
6.7.1 添加成员和成员函数268
6.7.2 添加消息处理函数270
6.7.3 手动添加命令消息处理函数272
6.8 使用消息对话框273
6.9 Windows通用对话框275
6.9.1 文件对话框275
6.9.2 查找/替换对话框276
6.9.3 “字体”对话框277
6.9.4 “颜色”对话框278
6.9.5 “打印”对话框278
6.10 实战279
6.10.1 获取系统磁盘信息279
6.10.2 简单局域网通信程序282
6.11 小结286
6.12 实战练习286
第7章 MFC通用控件287
视频讲解:71分钟
7.1 编辑框控件EditBox288
7.1.1 获取/设置编辑框文本288
7.1.2 设置字体和文本颜色288
7.1.3 设置密码框289
7.1.4 设置只读编辑框290
7.1.5 编辑框多行显示文本290
7.2 静态文本控件StaticText291
7.2.1 设置控件文本291
7.2.2 响应鼠标单击事件292
7.3 按钮控件Button293
7.3.1 设置按钮单击事件293
7.3.2 设置图标按钮294
7.4 复选框控件CheckBox295
7.4.1 设置和取消复选框选中状态296
7.4.2 使用复选框统计个人爱好297
7.5 单选按钮控件RadioButton298
7.5.1 为单选按钮设置分组298
7.5.2 利用单选按钮确定用户的选择299
7.6 组合框控件ComboBox300
7.6.1 设置组合框风格301
7.6.2 调整组合框列表部分大小301
7.6.3 向组合框中插入数据302
7.6.4 获取用户选择的数据303
7.6.5 设置组合框默认显示的数据303
7.7 列表框控件ListBox303
7.7.1 向列表框中插入文本304
7.7.2 为列表框中的项目添加复选功能305
7.7.3 同时选择多个项目306
7.8 图像控件Picture307
7.8.1 使用属性窗口显示位图307
7.8.2 动态加载位图308
7.9 实战309
7.9.1 利用图像控件实现公交线路模拟309
7.9.2 设计媒体播放器312
7.10 小结314
7.11 实战练习314
第8章 MFC高级控件315
视频讲解:84分钟
8.1 图像列表控件ImageList316
8.1.1 创建图像列表316
8.1.2 使用图像列表绘图317
8.2 列表视图控件ListControl319
8.2.1 设置列表视图控件风格319
8.2.2 使用列表视图设计登录界面320
8.2.3 设置列表视图背景位图321
8.2.4 使用列表视图显示表格数据324
8.3 树视图控件TreeControl325
8.3.1 设置树视图控件属性325
8.3.2 使用树视图控件显示区域信息326
8.3.3 修改树视图控件文本颜色328
8.3.4 设置复选功能的树视图控件329
8.4 进度条控件Progress333
8.4.1 设置进度条样式333
8.4.2 使用进度条显示操作进度334
8.5 滑块控件Slider335
8.5.1 滑块控件属性设置335
8.5.2 使用滑块控件设置颜色336
8.6 标签控件TabControl339
8.6.1 标签控件属性设置339
8.6.2 使用标签控件设计多页面窗口341
8.6.3 显示图标的标签控件343
8.7 实战344
8.7.1 删除学生信息344
8.7.2 对位图文件进行批量编号命名348
8.8 小结351
8.9 实战练习351
第9章 菜单、工具栏和状态栏设计353
视频讲解:74分钟
9.1 菜单设计354
9.1.1 设计菜单资源354
9.1.2 菜单项命令处理357
9.1.3 动态创建菜单358
9.1.4 禁用/启用菜单项361
9.1.5 设计弹出式菜单363
9.1.6 设计位图菜单365
9.2 工具栏设计368
9.2.1 工具栏资源设计368
9.2.2 工具栏按钮命令处理371
9.2.3 动态创建工具栏372
9.2.4 为工具栏设置工具提示功能376
9.3 状态栏设计377
9.3.1 创建状态栏377
9.3.2 在状态栏中显示进度条380
9.4 实战382
9.4.1 设计学生管理系统主界面382
9.4.2 设计任务栏托盘菜单385
9.5 小结387
9.6 实战练习387
第10章 文本、图形图像处理技术389
视频讲解:90分钟
10.1 图形设备接口390
10.1.1 设备上下文DC390
10.1.2 GDI对象391
10.2 对话框窗口区域392
10.3 文本输出394
10.3.1 在指定区域中输出文本394
10.3.2 输出指定字体和颜色文本396
10.3.3 在通道中输出文本398
10.3.4 在图像背景上输出透明文本399
10.4 绘制图形401
10.4.1 绘制五子棋表格401
10.4.2 绘制多边形403
10.4.3 绘制控件外观404
10.4.4 填充区域405
10.5 图像输出407
10.5.1 在窗口中输出位图资源407
10.5.2 显示磁盘中的位图文件410
10.5.3 在窗口非客户区域输出位图412
10.5.4 位图文件结构分析414
10.5.5 使用位图数据直接绘图416
10.5.6 显示JPEG格式图像419
10.6 GDI+图像处理技术422
10.6.1 在程序中使用GDI+422
10.6.2 使用GDI+显示GIF动画423
10.6.3 使用GDI+实现图像水印效果426
10.7 实战428
10.7.1 设计具有图片滚动功能的浏览器428
10.7.2 设计字形窗体的程序启动界面433
10.8 小结435
10.9 实战练习435
第11章 程序调试437
视频讲解:30分钟
11.1 断点跟踪438
11.1.1 设计简单断点438
11.1.2 设置数据断点439
11.1.3 条件断点439
11.1.4 设置消息断点440
11.2 调试窗口441
11.2.1 Watch窗口441
11.2.2 Call Stack窗口443
11.2.3 Memory窗口443
11.2.4 Variables窗口444
11.2.5 Registers窗口445
11.2.6 Disassembly窗口446
11.3 宏调试技术447
11.3.1 应用TRACE宏输出信息448
11.3.2 应用ASSERT宏诊断条件是否成立448
11.4 内存泄露检查449
11.5 小结450
第12章 打印技术451
视频讲解:63分钟
12.1 打印基础知识452
12.1.1 打印机介绍452
12.1.2 分辨率452
12.1.3 映射模式452
12.2 打印输出454
12.2.1 获取打印机设备上下文454
12.2.2 打印文本信息455
12.2.3 打印图像457
12.3 打印控制459
12.3.1 控制打印方向461
12.3.2 设置打印纸大小463
12.4 实战464
12.4.1 实现工作证打印464
12.4.2 打印对话框及其控件中的数据467
12.5 小结469
12.6 实战练习469
第13章 文件操作471
视频讲解:104分钟
13.1 使用C函数进行文件操作472
13.1.1 读取文件信息472
13.1.2 写入文件信息474
13.1.3 定位文件475
13.2 使用CFile类进行文件操作477
13.2.1 读取文件信息477
13.2.2 写入文件信息479
13.2.3 定位文件481
13.2.4 文件异常处理483
13.3 文件管理485
13.3.1 获取文件属性信息486
13.3.2 查找文件487
13.3.3 复制文件490
13.3.4 删除文件492
13.4 INI文件操作494
13.4.1 INI文件结构解析494
13.4.2 读写INI文件494
13.5 注册表操作497
13.5.1 使用函数直接读写注册表498
13.5.2 使用CRegKey类读写注册表502
13.6 实战505
13.6.1 复制文件过程中显示进度条505
13.6.2 设置开机自动运行507
13.7 小结510
13.8 实战练习510
第14章 ADO数据库编程511
视频讲解:32分钟
14.1 数据库概述512
14.1.1 数据库发展历史512
14.1.2 关系型数据库513
14.2 ADO技术513
14.2.1 ADO概述514
14.2.2 在工程中使用ADO技术514
14.3 ADO对象514
14.3.1 ADO连接对象Connection514
14.3.2 ADO记录集对象Recordset517
14.3.3 ADO命令对象Command520
14.4 实战522
14.4.1 使用ActiveX控件连接数据库522
14.4.2 使用ADO对象向数据库添加数据524
14.4.3 使用SQL语句修改和删除数据库中的
数据527
14.5 小结529
14.6 实战练习529
第15章 多线程应用程序设计531
视频讲解:72分钟
15.1 线程概述532
15.1.1 线程的定义532
15.1.2 线程与进程的关系532
15.2 线程的创建533
15.2.1 使用CreateThread函数创建线程533
15.2.2 使用_beginthread函数创建线程535
15.2.3 使用AfxBeginThread函数创建线程536
15.3 线程的调度539
15.3.1 挂起线程539
15.3.2 唤醒线程540
15.3.3 终止线程541
15.4 线程同步542
15.4.1 线程同步的必要性543
15.4.2 使用事件对象实现线程同步544
15.4.3 使用互斥对象实现线程同步546
15.4.4 使用信标对象实现线程同步548
15.4.5 使用关键代码段实现线程同步550
15.5 线程池552
15.5.1 异步调用函数553
15.5.2 依据指定的时间间隔调用函数555
15.6 实战557
15.6.1 使用多线程实现临时文件清理558
15.6.2 使用多线程实现任务列表管理566
15.7 小结572
15.8 实战练习572
第16章 动态链接库573
视频讲解:41分钟
16.1 动态链接库基础574
16.1.1 动态链接库的特点574
16.1.2 查看动态链接库574
16.2 创建和访问动态链接库575
16.2.1 创建通用的动态链接库575
16.2.2 访问动态链接库577
16.2.3 向动态链接库中添加类和资源578
16.2.4 访问动态链接库中的类和资源580
16.3 移花接木——函数转发器581
16.4 实战582
16.4.1 使用动态链接库设计支持多国语言的
应用程序582
16.4.2 利用动态链接库实现界面换肤586
16.5 小结588
16.6 实战练习588
第17章 网络编程589
视频讲解:116分钟
17.1 计算机网络基础590
17.1.1 计算机网络发展历史590
17.1.2 OSI参考模型590
17.1.3 IP地址591
17.1.4 域名591
17.1.5 地址解析592
17.1.6 TCP/IP协议593
17.1.7 端口594
17.2 套接字编程基础595
17.2.1 套接字概述595
17.2.2 套接字阻塞模式595
17.2.3 字节顺序596
17.2.4 套接字I/O模型596
17.3 套接字函数611
17.3.1 套接字函数介绍611
17.3.2 设计简单的网络聊天程序616
17.4 MFC套接字编程624
17.4.1 CAsyncSocket类624
17.4.2 CSocket类628
17.4.3 设计多人对话的网络聊天室629
17.5 实战635
17.5.1 设计信息广播应用程序635
17.5.2 设计文件发送应用程序638
17.6 小结657
17.7 实战练习657
第3部分 项目实战
第18章 学生管理系统661
视频讲解:104分钟
18.1 开发背景662
18.2 系统分析662
18.2.1 需求分析662
18.2.2 系统功能描述662
18.3 系统设计663
18.3.1 系统目标663
18.3.2 系统功能结构663
18.3.3 系统预览664
18.3.4 业务流程图664
18.3.5 数据库设计665
18.4 公共类设计667
18.5 主窗体设计668
18.6 科目信息管理模块设计669
18.6.1 科目信息管理模块概述669
18.6.2 科目信息管理技术分析669
18.6.3 科目信息管理实现过程670
18.7 学生信息管理模块设计675
18.7.1 学生信息管理模块概述675
18.7.2 学生信息管理技术分析675
18.7.3 学生信息管理实现过程675
18.8 学生成绩录入模块设计679
18.8.1 学生成绩录入模块概述679
18.8.2 学生成绩录入技术分析679
18.8.3 学生成绩录入实现过程680
18.9 成绩等级管理模块设计682
18.9.1 成绩等级管理模块概述682
18.9.2 成绩等级管理技术分析682
18.9.3 成绩等级管理实现过程683
18.10 学生违规查询模块设计690
18.10.1 学生违规查询模块概述690
18.10.2 学生违规查询技术分析690
18.10.3 学生违规查询实现过程691
18.11 学生成绩报表打印模块设计694
第19章 人事考勤管理系统699
视频讲解:91分钟
19.1 开发背景700
19.2 系统分析700
19.2.1 需求分析700
19.2.2 系统功能描述700
19.3 系统设计700
19.3.1 系统目标700
19.3.2 系统功能结构701
19.3.3 系统预览701
19.3.4 业务流程图702
19.3.5 数据库设计702
19.4 公共类设计703
19.5 主窗体设计708
19.6 用户登录模块设计709
19.6.1 用户登录模块概述709
19.6.2 用户登录模块技术分析709
19.6.3 用户登录模块实现过程710
19.7 用户管理模块设计711
19.7.1 用户管理模块概述711
19.7.2 用户管理模块技术分析711
19.7.3 用户管理模块实现过程712
19.8 部门管理模块设计713
19.8.1 部门管理模块概述713
19.8.2 部门管理模块技术分析714
19.8.3 部门管理模块实现过程714
19.9 人员信息管理模块设计717
19.9.1 人员信息管理模块概述717
19.9.2 人员信息管理技术分析717
19.9.3 人员信息管理实现过程717
19.10 考勤管理模块设计723
19.10.1 考勤管理模块概述723
19.10.2 考勤管理模块技术分析724
19.10.3 考勤管理模块实现过程725
19.11 考勤汇总查询模块设计730
19.11.1 考勤汇总查询模块概述730
19.11.2 考勤汇总查询模块技术分析730
19.11.3 考勤汇总查询模块实现过程731
第20章 视频聊天软件735
视频讲解:52分钟
20.1 开发背景736
20.2 系统功能描述736
20.3 系统技术分析736
20.4 系统实现过程737
第21章 局域网监控系统745
视频讲解:39分钟
21.1 开发背景746
21.2 系统功能描述746
21.3 系统技术分析746
21.4 系统实现过程747
第22章 垃圾文件清理工具753
视频讲解:19分钟
22.1 开发背景754
22.2 系统功能描述754
22.3 系统技术分析754
22.4 系统实现过程755
附录A……759