第1部分 基础篇
第1堂课 Visual C++开发环境3
视频讲解:115分钟
1.1 Visual?C++?6.0概述4
1.2 熟悉Visual?C++?6.0开发环境4
1.2.1 菜单介绍5
1.2.2 工具栏介绍12
1.2.3 Visual C++ 6.0工作区窗口介绍14
1.2.4 代码编辑窗口介绍15
1.2.5 Visual C++ 6.0 控件面板介绍16
1.2.6 输出窗口介绍16
1.3 使用MSDN17
1.4 照猫画虎——基本功训练18
1.4.1 基本功训练1——自定义工具栏18
1.4.2 基本功训练2——调整代码文本颜色19
1.4.3 基本功训练3——批量注释20
1.4.4 基本功训练4——向工程中加载图标资源23
1.4.5 基本功训练5——在工程中添加CPP文件23
1.5 情景应用——拓展与实践24
1.5.1 情景应用1——编写加法计算器24
1.5.2 情景应用2——在控制台输出当前日期25
1.5.3 情景应用3——输出带边框的字符串25
1.5.4 情景应用4——在控制台接收用户输入的用户名26
1.5.5 情景应用5——输出商品价格和购买数量27
1.6 自我测试28
1.7 行动指南29
1.8 成功故事——甩手的故事30
第2堂课 C++语言基础31
视频讲解:157分钟
2.1 程序设计基本要素32
2.1.1 认识标识符32
2.1.2 关键字介绍32
2.1.3 常量的定义和使用33
2.1.4 变量的定义和使用33
2.2 代码编写规范34
2.2.1 合理使用注释34
2.2.2 统一代码缩进35
2.2.3 代码换行36
2.2.4 合理使用空格37
2.2.5 命名规则37
2.3 数据类型38
2.3.1 简单数据类型介绍39
2.3.2 布尔类型的使用40
2.3.3 应用枚举类型40
2.3.4 定义结构体类型41
2.3.5 共用体类型介绍43
2.3.6 使用指针类型44
2.3.7 认识引用类型46
2.3.8 自定义类型47
2.4 照猫画虎——基本功训练47
2.4.1 基本功训练1——定义整型变量并赋初值47
2.4.2 基本功训练2——使用枚举类型输出当前星期48
2.4.3 基本功训练3——定义操作员信息结构体49
2.4.4 基本功训练4——使用取值运算符访问指针数据50
2.4.5 基本功训练5——使用带参数的宏定义51
2.5 情景应用——拓展与实践52
2.5.1 情景应用1——利用#输出图形52
2.5.2 情景应用2——简单的字符加密52
2.5.3 情景应用3——输出电视机的状态信息53
2.5.4 情景应用4——简历的快速复制54
2.5.5 情景应用5——绘制余弦曲线55
2.6 自我测试56
2.7 行动指南58
2.8 成功故事——“杀毒王”:王江民59
第1部分 基础篇
第1堂课 Visual C++开发环境3
视频讲解:115分钟
1.1 Visual?C++?6.0概述4
1.2 熟悉Visual?C++?6.0开发环境4
1.2.1 菜单介绍5
1.2.2 工具栏介绍12
1.2.3 Visual C++ 6.0工作区窗口介绍14
1.2.4 代码编辑窗口介绍15
1.2.5 Visual C++ 6.0 控件面板介绍16
1.2.6 输出窗口介绍16
1.3 使用MSDN17
1.4 照猫画虎——基本功训练18
1.4.1 基本功训练1——自定义工具栏18
1.4.2 基本功训练2——调整代码文本颜色19
1.4.3 基本功训练3——批量注释20
1.4.4 基本功训练4——向工程中加载图标资源23
1.4.5 基本功训练5——在工程中添加CPP文件23
1.5 情景应用——拓展与实践24
1.5.1 情景应用1——编写加法计算器24
1.5.2 情景应用2——在控制台输出当前日期25
1.5.3 情景应用3——输出带边框的字符串25
1.5.4 情景应用4——在控制台接收用户输入的用户名26
1.5.5 情景应用5——输出商品价格和购买数量27
1.6 自我测试28
1.7 行动指南29
1.8 成功故事——甩手的故事30
第2堂课 C++语言基础31
视频讲解:157分钟
2.1 程序设计基本要素32
2.1.1 认识标识符32
2.1.2 关键字介绍32
2.1.3 常量的定义和使用33
2.1.4 变量的定义和使用33
2.2 代码编写规范34
2.2.1 合理使用注释34
2.2.2 统一代码缩进35
2.2.3 代码换行36
2.2.4 合理使用空格37
2.2.5 命名规则37
2.3 数据类型38
2.3.1 简单数据类型介绍39
2.3.2 布尔类型的使用40
2.3.3 应用枚举类型40
2.3.4 定义结构体类型41
2.3.5 共用体类型介绍43
2.3.6 使用指针类型44
2.3.7 认识引用类型46
2.3.8 自定义类型47
2.4 照猫画虎——基本功训练47
2.4.1 基本功训练1——定义整型变量并赋初值47
2.4.2 基本功训练2——使用枚举类型输出当前星期48
2.4.3 基本功训练3——定义操作员信息结构体49
2.4.4 基本功训练4——使用取值运算符访问指针数据50
2.4.5 基本功训练5——使用带参数的宏定义51
2.5 情景应用——拓展与实践52
2.5.1 情景应用1——利用#输出图形52
2.5.2 情景应用2——简单的字符加密52
2.5.3 情景应用3——输出电视机的状态信息53
2.5.4 情景应用4——简历的快速复制54
2.5.5 情景应用5——绘制余弦曲线55
2.6 自我测试56
2.7 行动指南58
2.8 成功故事——“杀毒王”:王江民59
第3堂课 运算符与表达式61
视频讲解:88分钟
3.1 运算符62
3.1.1 赋值运算符62
3.1.2 算术运算符63
3.1.3 关系运算符64
3.1.4 逻辑运算符65
3.1.5 递增递减运算符66
3.1.6 位运算符67
3.1.7 sizeof运算符70
3.1.8 new和delete运算符71
3.2 结合性与优先级72
3.3 表达式73
3.3.1 逗号表达式的使用74
3.3.2 条件表达式74
3.4 照猫画虎——基本功训练75
3.4.1 基本功训练1——计算学生的平均身高75
3.4.2 基本功训练2——判断是否为回文字符串75
3.4.3 基本功训练3——统计各种字符个数76
3.4.4 基本功训练4——实现两个变量值的互换77
3.4.5 基本功训练5——使用条件运算符判断性别78
3.5 情景应用——拓展与实践79
3.5.1 情景应用1——整数加减法练习79
3.5.2 情景应用2——计算圆面积80
3.5.3 情景应用3——数鸭子问题求解81
3.5.4 情景应用4——比较两个数的大小82
3.5.5 情景应用5——验证用户名82
3.6 自我测试83
3.7 行动指南85
3.8 成功故事——初中站长的
创业故事86
第4堂课 流程控制语句87
视频讲解:115分钟
4.1 语句的构成88
4.2 复合语句88
4.3 分支语句90
4.3.1 使用if语句实现判断90
4.3.2 多条件判断的switch语句94
4.4 循环语句98
4.4.1 for语句98
4.4.2 while语句实现循环101
4.4.3 使用do while语句实现至少循环一次103
4.5 其他控制语句103
4.5.1 使用goto语句跳转到指定语句103
4.5.2 用于返回数据的return语句105
4.5.3 使用exit语句跳出当前进程106
4.6 照猫画虎——基本功训练106
4.6.1 基本功训练1——李白喝酒问题106
4.6.2 基本功训练2——促销商品的折扣计算107
4.6.3 基本功训练3——灯塔数量109
4.6.4 基本功训练4——小球下落110
4.6.5 基本功训练5——判断名次111
4.7 情景应用——拓展与实践112
4.7.1 情景应用1——购物街中的商品价格竞猜112
4.7.2 情景应用2——上帝创世的秘密113
4.7.3 情景应用3——再现乘法口诀表115
4.7.4 情景应用4——老师分糖果116
4.7.5 情景应用5——猴子吃桃117
4.8 自我测试118
4.9 行动指南121
4.10 成功故事——缔造华人的
硅谷传奇:杨致远122
第5堂课 数组的应用123
视频讲解:51分钟
5.1 一维数组124
5.1.1 一维数组的定义124
5.1.2 一维数组的初始化124
5.1.3 一维数组元素的引用125
5.1.4 一维数组的应用125
5.2 二维数组和多维数组127
5.2.1 二维数组和多维数组的定义127
5.2.2 二维数组和多维数组的初始化128
5.2.3 二维数组和多维数组的引用129
5.2.4 二维数组和多维数组的应用129
5.3 指针与数组131
5.3.1 指向数组的指针131
5.3.2 指针数组132
5.4 照猫画虎——基本功训练134
5.4.1 基本功训练1——定义一个整型数组并初始化134
5.4.2 基本功训练2——动态创建指定大小的字符型数组134
5.4.3 基本功训练3——通过二维数组存储天气温度135
5.4.4 基本功训练4——通过指针输出数组中的元素136
5.4.5 基本功训练5——数组的复制136
5.5 情景应用——拓展与实践137
5.5.1 情景应用1——遍历二维数组137
5.5.2 情景应用2——数组冒泡排序法138
5.5.3 情景应用3——顺序查找数组中元素139
5.5.4 情景应用4——有序数组的折半查找140
5.5.5 情景应用5——向数组中插入元素142
5.6 自我测试144
5.7 行动指南145
5.8 成功故事——征途巨人史玉柱的
第一桶金146
第6堂课 函数的应用147
视频讲解:149分钟
6.1 函数的定义与使用148
6.1.1 定义和调用函数148
6.1.2 函数参数的默认值150
6.1.3 数组作为函数参数151
6.1.4 指针或引用作为函数参数154
6.1.5 省略号作为函数参数156
6.1.6 内联函数157
6.1.7 重载函数158
6.1.8 函数指针160
6.2 作用域和生命期163
6.2.1 局部作用域163
6.2.2 全局作用域164
6.2.3 定义和使用命名空间165
6.3 函数模板169
6.3.1 定义和使用函数模板169
6.3.2 重载函数模板170
6.4 照猫画虎——基本功训练171
6.4.1 基本功训练1——通过默认值实现3个数相加171
6.4.2 基本功训练2——在数组中查找指定数据并通过参数返回数据索引172
6.4.3 基本功训练3——通过函数输出存储在数组中的商品信息173
6.4.4 基本功训练4——利用函数重载实现减法运算174
6.4.5 基本功训练5——使用函数模板进行排序175
6.5 情景应用——拓展与实践176
6.5.1 情景应用1——遍历磁盘目录176
6.5.2 情景应用2——对学生成绩进行排序178
6.5.3 情景应用3——使用递归函数计算n的阶乘179
6.5.4 情景应用4——通过函数回调输出查找数据180
6.5.5 情景应用5——通过函数模板返回数组中的最小值181
6.6 自我测试182
6.7 行动指南184
6.8 成功故事——使计算机成为生活的必需品185
第7堂课 面向对象程序设计187
视频讲解:243分钟
7.1 类的概念与声明188
7.1.1 类的概念188
7.1.2 类的声明188
7.2 对象的使用189
7.2.1 对象的声明与实例化189
7.2.2 类与对象的关系190
7.2.3 类成员的访问190
7.2.4 类成员的保护190
7.3 构造函数与析构函数192
7.3.1 构造函数与默认构造函数192
7.3.2 复制构造函数195
7.3.3 重载构造函数196
7.3.4 析构函数198
7.4 类的继承200
7.4.1 单一继承200
7.4.2 多重继承202
7.4.3 覆盖成员函数203
7.4.4 虚函数204
7.4.5 纯虚函数207
7.5 类方法的使用209
7.5.1 实现类的方法209
7.5.2 内联方法211
7.5.3 静态成员数据和静态方法211
7.5.4 友元类和友元方法215
7.5.5 const方法219
7.5.6 运算符重载220
7.6 类模板的使用222
7.6.1 类模板的声明和实例化222
7.6.2 类模板的实现223
7.7 照猫画虎——基本功训练224
7.7.1 基本功训练1——通过构造函数初始化学生信息224
7.7.2 基本功训练2——在析构函数中释放类中的资源226
7.7.3 基本功训练3——重载“=”运算符227
7.7.4 基本功训练4——对动物的行为实现多态228
7.7.5 基本功训练5——通过类模板实现加法计算器229
7.8 情景应用——拓展与实践230
7.8.1 情景应用1——统计图书的销售量230
7.8.2 情景应用2——计算几何图形的面积231
7.8.3 情景应用3——利用复制构造函数简化实例创建233
7.8.4 情景应用4——实现类对象的单模式创建234
7.8.5 情景应用5——利用适配器模式给汽车增加GPS定位功能235
7.9 自我测试237
7.10 行动指南238
7.11 成功故事——图文世界的缔造者239
第2部分 提高篇
第8堂课 对话框程序设计243
视频讲解:182分钟
8.1 创建对话框应用程序244
8.2 创建对话框245
8.2.1 设计对话框资源245
8.2.2 创建并显示对话框252
8.3 设置对话框属性260
8.3.1 使用属性对话框设置对话框属性260
8.3.2 使用代码设置对话框属性266
8.4 对话框布局267
8.4.1 向对话框中添加控件267
8.4.2 调整控件的Tab键顺序268
8.4.3 调整控件至相同的大小268
8.4.4 在对话框中对齐控件270
8.4.5 排列控件272
8.4.6 使用网格线进行界面布局276
8.5 访问对话框中的控件277
8.5.1 使用类向导为控件关联变量277
8.5.2 利用控件ID获取控件窗口指针281
8.5.3 利用数据交换访问控件文本数据282
8.6 设置对话框和应用程序图标283
8.7 向对话框中添加成员和成员函数286
8.7.1 添加成员和成员函数286
8.7.2 添加消息处理函数290
8.7.3 手动添加命令消息处理函数293
8.8 使用消息对话框293
8.9 照猫画虎——基本功训练295
8.9.1 基本功训练1——设置对话框的标题295
8.9.2 基本功训练2——遍历对话框中的控件295
8.9.3 基本功训练3——显示欢迎窗体296
8.9.4 基本功训练4——在对话框关闭时弹出确认窗口297
8.9.5 基本功训练5——无法通过Esc键关闭窗体297
8.10 情景应用——拓展与实践298
8.10.1 情景应用1——实现登录对话框298
8.10.2 情景应用2——始终在最上面的窗体299
8.10.3 情景应用3——如QQ般隐藏的窗体300
8.10.4 情景应用4——隐藏和显示标题栏301
8.10.5 情景应用5——在对话框中设置控件的提示信息301
8.11 自我测试303
8.12 行动指南304
8.13 成功故事——世界第一人称射击游戏之父305
第9堂课 Windows通用对话框307
视频讲解:54分钟
9.1 文件对话框308
9.1.1 文件对话框的样式308
9.1.2 文件对话框的调用308
9.2 “查找/替换”对话框310
9.2.1 “查找/替换”对话框样式310
9.2.2 “查找/替换”对话框调用311
9.3 “字体”对话框313
9.3.1 “字体”对话框样式314
9.3.2 “字体”对话框调用314
9.4 “颜色”对话框315
9.4.1 “颜色”对话框样式316
9.4.2 “颜色”对话框调用316
9.5 “打印”对话框317
9.5.1 “打印”对话框样式317
9.5.2 “打印”对话框调用318
9.6 “页面设置”对话框320
9.6.1 “页面设置”对话框样式320
9.6.2 “页面设置”对话框调用320
9.7 照猫画虎——基本功训练321
9.7.1 基本功训练1——打开文件时对文件进行过滤321
9.7.2 基本功训练2——获取“查找”对话框中所要查找的字符串322
9.7.3 基本功训练3——输出“字体”对话框属性信息323
9.7.4 基本功训练4——获取“颜色”对话框中用户所选颜色值324
9.7.5 基本功训练5——获取“页面设置”对话框中纸张大小325
9.8 情景应用——拓展与实践326
9.8.1 情景应用1——可以显示图片预览的“打开”对话框326
9.8.2 情景应用2——设置是否区分大小写328
9.8.3 情景应用3——使用“字体”对话框设置静态文本字体329
9.8.4 情景应用4——使用“颜色”对话框设置矩形颜色330
9.8.5 情景应用5——调用“打印”对话框打印图形内容331
9.9 自我测试333
9.10 行动指南334
9.11 成功故事——微型博客Twitter创始人334
第10堂课 菜单337
视频讲解:77分钟
10.1 设计菜单338
10.1.1 在资源管理器中设计菜单338
10.1.2 菜单属性339
10.1.3 设计菜单加速键341
10.1.4 为对话框设置菜单342
10.2 菜单项的命令处理343
10.2.1 实现菜单命令343
10.2.2 更新菜单项复选标识344
10.2.3 一个函数实现多个菜单项345
10.3 动态创建和修改菜单347
10.3.1 动态创建对话框菜单347
10.3.2 创建弹出式菜单350
10.3.3 禁用/启用菜单项352
10.4 自绘菜单354
10.4.1 为菜单项添加图标354
10.4.2 菜单位图背景359
10.5 照猫画虎——基本功训练361
10.5.1 基本功训练1——弹出工具栏右键菜单361
10.5.2 基本功训练2——菜单左侧显示导航条图片362
10.5.3 基本功训练3——带历史信息的菜单363
10.5.4 基本功训练4——动态设置对话框菜单364
10.5.5 基本功训练5——使用更新机制控制菜单可用性364
10.6 情景应用——拓展与实践365
10.6.1 情景应用1——根据表中数据动态生成菜单365
10.6.2 情景应用2——根据INI文件创建菜单366
10.6.3 情景应用3——将菜单项的字体设置为粗体367
10.6.4 情景应用4——多国语言菜单368
10.6.5 情景应用5——任务栏托盘弹出菜单369
10.7 自我测试370
10.8 行动指南371
10.9 成功故事——因特网的点火人372
第11堂课 工具栏和状态栏375
视频讲解:67分钟
11.1 工具栏设计376
11.1.1 工具栏资源设计376
11.1.2 工具栏按钮命令处理379
11.1.3 动态创建工具栏380
11.1.4 为工具栏设置工具提示功能384
11.2 状态栏设计386
11.2.1 创建状态栏386
11.2.2 在状态栏中显示进度条388
11.2.3 使状态栏随对话框的改变而改变389
11.3 照猫画虎——基本功训练390
11.3.1 基本功训练1——根据菜单创建工具栏390
11.3.2 基本功训练2——工具栏按钮单选效果392
11.3.3 基本功训练3——在工具栏中添加编辑框394
11.3.4 基本功训练4——根据INI文件创建工具栏395
11.3.5 基本功训练5——在状态栏显示时间396
11.4 情景应用——拓展与实践397
11.4.1 情景应用1——根据表中数据动态生成工具栏397
11.4.2 情景应用2——可调整按钮位置的工具栏399
11.4.3 情景应用3——带背景的工具栏400
11.4.4 情景应用4——工具栏左侧显示双线401
11.4.5 情景应用5——滚动字幕的状态栏402
11.5 自我测试404
11.6 行动指南405
11.7 成功故事——暴雪公司的领航者405
第12堂课 常用控件407
视频讲解:110分钟
12.1 静态文本控件StaticText408
12.1.1 静态文本控件的主要属性408
12.1.2 CStatic类的主要方法409
12.2 编辑框控件EditBox411
12.2.1 编辑框控件的主要属性411
12.2.2 CEdit类的主要方法413
12.3 按钮控件Button416
12.3.1 按钮控件的主要属性416
12.3.2 CButton类的主要方法417
12.4 复选框控件CheckBox419
12.4.1 复选框控件的主要属性419
12.4.2 设置选中状态420
12.4.3 获取选中状态420
12.5 单选按钮控件RadioButton422
12.5.1 单选按钮控件的主要属性422
12.5.2 获得单选按钮中的文本423
12.6 组合框控件ComboBox424
12.6.1 组合框控件的主要属性424
12.6.2 CComboBox类的主要方法425
12.7 列表框控件ListBox427
12.7.1 列表框控件的主要属性427
12.7.2 CListBox类的主要方法428
12.8 图像控件Picture431
12.8.1 图像控件的主要属性431
12.8.2 显示图像432
12.9 照猫画虎——基本功训练433
12.9.1 基本功训练1——具有分隔条的静态文本控件433
12.9.2 基本功训练2——金额编辑框434
12.9.3 基本功训练3——向组合框中插入数据436
12.9.4 基本功训练4——上下移动列表项位置437
12.9.5 基本功训练5——动态加载图像438
12.10 情景应用——拓展与实践439
12.10.1 情景应用1——编辑框输入时显示选择列表439
12.10.2 情景应用2——按钮七巧板440
12.10.3 情景应用3——QQ登录式的用户选择列表443
12.10.4 情景应用4——自动调整组合框宽度444
12.10.5 情景应用5——要提示才能看得见445
12.11 自我测试447
12.12 行动指南448
12.13 成功故事——3D王国的开创者449
第13堂课 高级控件451
视频讲解:119分钟
13.1 图像列表控件(ImageList)452
13.2 列表视图控件(ListControl)455
13.2.1 列表视图控件的主要属性455
13.2.2 列表视图控件的主要方法456
13.2.3 设置列表视图背景位图459
13.2.4 使用列表视图显示表格数据461
13.3 树视图控件(TreeControl)462
13.3.1 树视图控件的主要属性462
13.3.2 树视图控件的主要方法462
13.3.3 使用树视图控件显示区域信息466
13.4 进度条控件(Progress)467
13.4.1 进度条控件的主要属性467
13.4.2 进度条控件的主要方法467
13.4.3 使用进度条显示操作进度468
13.5 标签控件(TabControl)469
13.5.1 标签控件的主要属性469
13.5.2 标签控件的主要方法470
13.5.3 使用标签控件设计多页面窗口472
13.6 照猫画虎——基本功训练473
13.6.1 基本功训练1——使用图像列表绘制图标473
13.6.2 基本功训练2——使用列表视图设计登录界面474
13.6.3 基本功训练3——修改树视图控件文本颜色475
13.6.4 基本功训练4——标签控件以类似于按钮的形式显示476
13.6.5 基本功训练5——标签位于控件的底部478
13.7 情景应用——拓展与实践480
13.7.1 情景应用1——以报表显示图书信息480
13.7.2 情景应用2——以树状结构显示部门结构信息481
13.7.3 情景应用3——在树状结构中编辑地域信息483
13.7.4 情景应用4——使树视图控件具有复选功能484
13.7.5 情景应用5——Loading窗口中的进度的百分比显示485
13.8 自我测试487
13.9 行动指南488
13.10 成功故事——“盖茨第二”488
第3部分 高级篇
第14堂课 文件操作493
视频讲解:135分钟
14.1 使用C函数进行文件操作494
14.1.1 读取文件数据494
14.1.2 向文件中写入数据496
14.1.3 定位文件498
14.2 使用CFile类进行文件操作500
14.2.1 CFile类的主要方法500
14.2.2 读取文件数据500
14.2.3 向文件中写入数据502
14.2.4 定位文件504
14.3 文件查找506
14.3.1 CFileFind类的主要方法506
14.3.2 查找指定文件508
14.4 INI文件操作510
14.4.1 INI文件结构解析510
14.4.2 INI文件操作函数510
14.4.3 读写INI文件513
14.5 注册表操作515
14.5.1 操作注册表的函数515
14.5.2 利用函数直接读写注册表518
14.5.3 CRegKey类的主要方法520
14.5.4 利用CRegKey类读写注册表521
14.6 照猫画虎——基本功训练523
14.6.1 基本功训练1——创建文件523
14.6.2 基本功训练2——复制文件524
14.6.3 基本功训练3——删除文件525
14.6.4 基本功训练4——重命名文件527
14.6.5 基本功训练5——列举文件夹下所有文件528
14.7 情景应用——拓展与实践530
14.7.1 情景应用1——获取目标文件的创建和修改时间530
14.7.2 情景应用2——复制文件时显示进度条531
14.7.3 情景应用3——批量删除指定类型的文件533
14.7.4 情景应用4——把文件删除到回收站中534
14.7.5 情景应用5——设置开机自动运行536
14.8 自我测试539
14.9 行动指南540
14.10 成功故事——迅雷创始人:邹胜龙541
第15堂课 图形图像程序设计543
视频讲解:121分钟
15.1 GDI设备与对象544
15.1.1 画笔CPen544
15.1.2 画刷CBrush545
15.1.3 位图CBitmap546
15.1.4 区域CRgn547
15.1.5 字体CFont548
15.1.6 设备上下文CDC550
15.2 常用图像存储格式551
15.2.1 位图BMP551
15.2.2 图标ICO553
15.2.3 GIF图像554
15.3 文本输出与绘制556
15.3.1 在指定位置输出文本556
15.3.2 在指定区域输出文本557
15.3.3 利用制表位输出文本559
15.3.4 设置字体、颜色及对齐方式560
15.3.5 设置文本背景透明562
15.4 绘制图形图像563
15.4.1 利用线条绘制表格563
15.4.2 绘制多边形564
15.4.3 填充区域565
15.4.4 填充选区566
15.4.5 线条的渐变568
15.4.6 区域的渐变569
15.4.7 绘制位图570
15.5 照猫画虎——基本功训练572
15.5.1 基本功训练1——绘制圆角按钮572
15.5.2 基本功训练2——绘制并填充三角形573
15.5.3 基本功训练3——绘制文字边框575
15.5.4 基本功训练4——绘制居中显示的图像576
15.5.5 基本功训练5——绘制空心字576
15.6 情景应用——拓展与实践578
15.6.1 情景应用1——创建不同的画刷578
15.6.2 情景应用2——模拟时钟580
15.6.3 情景应用3——数字验证582
15.6.4 情景应用4——绘制自定义线条583
15.6.5 情景应用5——绘制渐变颜色的空心字584
15.7 自我测试586
15.8 行动指南587
15.9 成功故事——知识改变命运、
科技改变生活588
第16堂课 打印控制589
视频讲解:94分钟
16.1 打印基础知识590
16.1.1 打印机介绍590
16.1.2 分辨率590
16.1.3 映射模式590
16.2 基于文档、视图结构的打印591
16.2.1 按比例打印数据591
16.2.2 打印图像594
16.2.3 自定义打印预览597
16.3 基于对话框结构的打印599
16.3.1 获取打印机设备上下文599
16.3.2 打印预览600
16.3.3 分页打印602
16.4 打印控制相关技术603
16.4.1 自定义打印纸大小603
16.4.2 控制打印方向603
16.4.3 设置打印份数604
16.5 照猫画虎——基本功训练605
16.5.1 基本功训练1——在打印机上绘制文字605
16.5.2 基本功训练2——实现横向打印表格606
16.5.3 基本功训练3——获取打印纸边距607
16.5.4 基本功训练4——打印新一页608
16.5.5 基本功训练5——打印窗体客户区608
16.6 情景应用——拓展与实践609
16.6.1 情景应用1——设置打印表格的边线及字体609
16.6.2 情景应用2——实现照片的打印612
16.6.3 情景应用3——实现报表打印613
16.6.4 情景应用4——实现商品销售图表打印615
16.6.5 情景应用5——具有滚动条的预览界面617
16.7 自我测试619
16.8 行动指南620
16.9 成功故事——中国通信设备行业的
领跑者:任正非621
第17堂课 掌握数据库操作623
视频讲解:60分钟
17.1 数据库概述624
17.1.1 数据库发展历史624
17.1.2 关系型数据库625
17.2 ADO编程基础625
17.2.1 ADO概述625
17.2.2 在Visual C++中应用ADO技术626
17.3 ADO对象626
17.3.1 ADO连接对象(Connection)626
17.3.2 ADO记录集对象(Recordset)628
17.3.3 ADO命令对象Command631
17.3.4 ADO参数对象Parameter633
17.4 利用ADO连接数据库634
17.4.1 连接Access数据库634
17.4.2 连接SQL Server数据库637
17.5 利用ADO操作数据库638
17.5.1 获取记录集数据638
17.5.2 遍历记录集639
17.5.3 向记录集中添加数据641
17.5.4 修改记录集数据644
17.5.5 删除记录集数据645
17.6 照猫画虎——基本功训练647
17.6.1 基本功训练1——用ADO动态连接SQL Server数据库647
17.6.2 基本功训练2——将员工表中记录批量插入到另一个表中648
17.6.3 基本功训练3——批量修改员工表中的工资649
17.6.4 基本功训练4——删除指定条件的数据650
17.6.5 基本功训练5——利用ADO创建存储过程651
17.7 情景应用——拓展与实践652
17.7.1 情景应用1——读取SQL Server数据库结构652
17.7.2 情景应用2——在Access数据库中录入和提取图片654
17.7.3 情景应用3——在应用程序中使用事务657
17.7.4 情景应用4——利用ADO动态创建视图658
17.7.5 情景应用5——调用具有输出参数的存储过程659
17.8 自我测试660
17.9 行动指南661
17.10 成功故事——软件业的华人教父:王嘉廉662
第18堂课 掌握进程与线程技术663
视频讲解:105分钟
18.1 理解进程664
18.1.1 进程概述664
18.1.2 进程的创建665
18.1.3 进程的终止666
18.1.4 进程间通信668
18.2 线程的使用671
18.2.1 线程概述671
18.2.2 线程的创建672
18.2.3 线程的调度674
18.3 线程同步技术676
18.3.1 多线程潜在的危机676
18.3.2 使用事件对象实现线程同步677
18.3.3 使用互斥对象实现线程同步679
18.4 照猫画虎——基本功训练681
18.4.1 基本功训练1——在自己的应用程序中调用QQ681
18.4.2 基本功训练2——利用多线程实现文件查找682
18.4.3 基本功训练3——禁止程序重复运行683
18.4.4 基本功训练4——垃圾文件清理工具684
18.4.5 基本功训练5——利用线程同步向控件中写入数据687
18.5 情景应用——拓展与实践689
18.5.1 情景应用1——等待打开的“计事本”程序关闭689
18.5.2 情景应用2——应用线程构建视频窗口690
18.5.3 情景应用3——利用闪屏线程设计启动界面691
18.5.4 情景应用4——统计文本文件中汉字与字符的个数692
18.5.5 情景应用5——利用多线程实现文件下载694
18.6 自我测试696
18.7 行动指南697
18.8 成功故事——创造互联网搜索时代697
第19堂课 动态链接库699
视频讲解:86分钟
19.1 动态链接库基础700
19.1.1 动态链接库的特点700
19.1.2 查看动态链接库700
19.2 创建和调用动态链接库701
19.2.1 创建Win32动态链接库702
19.2.2 命名约定703
19.2.3 动态链接库的调用705
19.2.4 创建MFC动态链接库706
19.3 动态链接库高级应用708
19.3.1 应用程序中的资源708
19.3.2 加载动态链接库中的资源711
19.4 照猫画虎——基本功训练712
19.4.1 基本功训练1——判断闰年712
19.4.2 基本功训练2——格式化磁盘714
19.4.3 基本功训练3——函数转发715
19.4.4 基本功训练4——十进制转八进制716
19.4.5 基本功训练5——修改应用程序对话框717
19.5 情景应用——拓展与实践719
19.5.1 情景应用1——计算某日是该年第几天719
19.5.2 情景应用2——提取并保存应用程序图标721
19.5.3 情景应用3——汉语和英语两个版本的简单加法计算器723
19.5.4 情景应用4——求三角形面积725
19.5.5 情景应用5——获取CPU的ID值727
19.6 自我测试729
19.7 行动指南730
19.8 成功故事——IT风云人物:
鲍岳桥730
特别提醒:
亲爱的读者朋友,由于近期纸张价格和印制成本大幅上涨,为不增加读者朋
友的负担,又不减少书的内容,本书以下章节内容不得不放在配书光盘中,由此
给您带来了不便,在此深表歉意。
第20堂课 网络编程733
视频讲解:145分钟
(本章内容在配书光盘中)
20.1 计算机网络基础734
20.1.1 计算机网络发展历史734
20.1.2 OSI参考模型734
20.1.3 IP地址735
20.1.4 域名735
20.1.5 地址解析736
20.1.6 TCP/IP协议736
20.1.7 端口738
20.2 套接字编程基础738
20.2.1 套接字概述738
20.2.2 套接字阻塞模式738
20.2.3 字节顺序739
20.2.4 套接字I/O模型739
20.3 套接字函数753
20.3.1 套接字函数介绍754
20.3.2 设计简单的网络聊天程序759
20.4 MFC套接字编程766
20.4.1 CAsyncSocket类766
20.4.2 CSocket类770
20.5 照猫画虎——基本功训练771
20.5.1 基本功训练1——获取本机用户名和IP地址771
20.5.2 基本功训练2——服务器端和客户端消息通信772
20.5.3 基本功训练3——发送编辑框内数据776
20.6 情景应用——拓展与实践780
20.6.1 情景应用1——实现Ping命令780
20.6.2 情景应用2——利用UDP协议实现广播通信783
20.6.3 情景应用3——通过UDP协议发送消息785
20.7 自我测试787
20.8 行动指南788
20.9 成功故事——中国第一程序员:求伯君789
第21堂课 程序调试791
视频讲解:31分钟
(本章内容在配书光盘中)
21.1 断点跟踪792
21.1.1 设置普通断点792
21.1.2 设置条件断点792
21.1.3 设置数据断点794
21.1.4 设置消息断点795
21.1.5 进行断点跟踪795
21.2 调试窗口797
21.2.1 使用Watch窗口查看变量值797
21.2.2 使用Call Stack窗口查看函数的调用798
21.2.3 使用Memory窗口查看对象的内存信息798
21.2.4 使用Variables窗口查看变量信息799
21.2.5 使用Registers窗口查看寄存器信息799
21.2.6 使用Disassembly窗口查看反汇编代码800
21.3 内存泄露检查801
21.4 自我测试802
21.5 行动指南803
21.6 成功故事——IT“大王”:王志东803
第4部分 实战篇
第22堂课 屏幕录像模块807
视频讲解:102分钟
(本章内容在配书光盘中)
22.1 屏幕录像模块概述808
22.1.1 模块概述808
22.1.2 功能结构808
22.2 关键技术808
22.2.1 屏幕抓图808
22.2.2 抓图时抓取鼠标809
22.2.3 将位图数据流写入AVI文件810
22.2.4 将AVI文件转换成位图数据814
22.2.5 获得AVI文件属性815
22.2.6 根据运行状态显示托盘图标817
22.2.7 获得磁盘的剩余空间818
22.2.8 动态生成录像文件名819
22.3 主窗体设计820
22.3.1 概述820
22.3.2 界面设计821
22.3.3 功能实现821
22.4 录像截取模块设计832
22.4.1 概述832
22.4.2 界面设计832
22.4.3 功能实现833
22.5 录像合成模块设计838
22.5.1 概述838
22.5.2 界面设计838
22.5.3 功能实现839
第23堂课 人事考勤管理系统843
视频讲解:91分钟
(本章内容在配书光盘中)
23.1 开发背景844
23.2 系统分析844
23.2.1 需求分析844
23.2.2 系统功能描述844
23.3 系统设计844
23.3.1 系统目标844
23.3.2 系统功能结构845
23.3.3 系统预览845
23.3.4 业务流程图846
23.3.5 数据库设计846
23.4 公共类设计847
23.5 主窗体设计852
23.6 用户登录模块设计853
23.6.1 用户登录模块概述853
23.6.2 用户登录模块技术分析853
23.6.3 用户登录模块实现过程854
23.7 用户管理模块设计855
23.7.1 用户管理模块概述855
23.7.2 用户管理模块技术分析855
23.7.3 用户管理模块实现过程855
23.8 部门管理模块设计857
23.8.1 部门管理模块概述857
23.8.2 部门管理模块技术分析857
23.8.3 部门管理模块实现过程858
23.9 人员信息管理模块设计860
23.9.1 人员信息管理模块概述860
23.9.2 人员信息管理技术分析860
23.9.3 人员信息管理实现过程861
23.10 考勤管理模块设计866
23.10.1 考勤管理模块概述866
23.10.2 考勤管理模块技术分析866
23.10.3 考勤管理模块实现过程867
23.11 考勤汇总查询模块设计871
23.11.1 考勤汇总查询模块概述871
23.11.2 考勤汇总查询模块技术分析872
23.11.3 考勤汇总查询模块实现过程873
第24堂课 企业短信群发系统877
视频讲解:83分钟
(本章内容在配书光盘中)
24.1 开发背景878
24.2 系统分析878
24.2.1 需求分析878
24.2.2 可行性分析878
24.2.3 编写项目计划书879
24.3 系统设计881
24.3.1 系统目标881
24.3.2 系统功能结构图881
24.3.3 系统预览882
24.3.4 业务流程图882
24.3.5 数据库设计883
24.4 公共类设计885
24.4.1 自定义SetHBitmap方法885
24.4.2 处理WM_MOUSEMOVE事件885
24.5 主窗口设计886
24.6 短信猫设置模块设计889
24.6.1 短信猫设置模块概述889
24.6.2 短信猫设置技术分析889
24.6.3 短信猫设置实现过程890
24.7 电话簿管理模块设计891
24.7.1 电话簿管理模块概述891
24.7.2 电话簿管理技术分析892
24.7.3 电话簿管理实现过程892
24.7.4 单元测试896
24.8 常用语管理模块设计897
24.8.1 常用语管理模块概述897
24.8.2 常用语管理技术分析898
24.8.3 常用语管理实现过程899
24.9 短信发送模块设计902
24.9.1 短信发送模块概述902
24.9.2 短信发送技术分析903
24.9.3 短信发送实现过程903
24.9.4 单元测试909
24.10 短信接收模块设计910
24.10.1 短信接收模块概述910
24.10.2 短信接收技术分析910
24.10.3 短信接收实现过程911
24.10.4 单元测试914
24.11 开发技巧与难点分析915
24.11.1 显示“收到新信息”对话框915
24.11.2 制作只允许输入数字的编辑框917
24.12 短信猫应用917
24.13 本堂课总结919