标题：21天学通VisualC++
图书信息

作　者：杨章伟 等编著 
出 版 社： 电子工业出版社
出版时间： 2009-1-1
页　数：420页
开　本： 16开
ISBN 9787121079153
分类： 图书 >> 计算机/程序设计>>Visual C++
定价：49.80元
宣传语

 基础知识核心技术典型实例综合练习项目案例
 112个典型实例、1个项目案例、244个练习题
 一线开发人员全程贴心讲解，上手毫不费力
 20小时多媒体语音视频教学
 本书源代码 + 本书电子教案（PPT）
 1000余页编程参考宝典电子书（免费赠送）
内 容 简 介

本书是Visual C++语言的入门教程，较全面地介绍了Visual C++编程的相关知识，然而，本书并没有泛讲Visual C++语言的所有知识，而是突出重点，选择最重要的内容进行讲解。本书一共分为五篇，第一篇主要讲解了Visual C++的基础知识，内容包括Visual C++ 6.0概述和Windows应用程序框架。第二篇重点分析了Visual C++的可视化编程，主要包括常用控件、对话框、消息处理与ClassWizard使用、菜单、工具栏与状态栏。第三篇主要分析了Visual C++的应用，包括图形、文本与字体、文档视图结构、文件、文档序列化与注册表操作、应用程序外观设计和面向对象程序设计基础。第四篇主要讲解Visual C++的开发，包括数据库编程、网络编程、线程同步与进程通信、动态链接库、ActiveX技术和Visual C++的调试技术。第五篇案例篇讲解了如何应用Visual C++进行实际综合案例开发。
本书重点分析了Visual C++的基础知识体系和开发应用，其中介绍了关于量Visual C++的Visual C++应用技巧。本书适合Visual C++的初学者，也可作为大、中专院校师生和培训班的教材，对于Visual C++的爱好者，本书也有很大的参考价值。
本书附赠DVD光盘1张，内容包括超大容量手把手视频、电子教案（PPT）、编程参考宝典电子书、源代码及各章习题答案。
本 书 特 点

千里之行，始于足下！
——老子 
为什么要写这样一本书
作为一个初学Visual C++编程的人，最重要的第一步是什么呢？毫无疑问，是选择一本好书。然而令人感到尴尬的是，书店中Visual C++的书可谓琳琅满目，但却很难找到一本适合初学者使用的书。很多书中都充斥着很多复杂难记的语法和概念，让刚开始学习Visual C++的人一头雾水，就像有一堵无形的墙立在自己面前而无法逾越。
为了让那些Visual C++初学人员少走弯路，快速而轻松地学会Visual C++编程，笔者总结自己学习Visual C++的经验，并结合多年的开发经验，编写一本能够真正让Visual C++初学人员容易掌握的书。在这本书中，笔者将通过21天的学习规划，让读者快速掌握Visual C++编程的基本知识。
本书有何特色
1．细致体贴的讲解
为了让读者更快地上手，本书特别设计了适合初学者的学习方式，用准确的语言总结概念#用直观的图示演示过程#用详细的注释解释代码#用形象的比方帮助记忆。效果如下：
1）知识点介绍 准确、清晰是其显著特点，一般放在每一节开始位置，让零基础的读者了解相关概念，顺利入门。
2）范例 书中出现的完整实例，以章节顺序编号，便于检索和循序渐进地学习、实践，放在每节知识点介绍之后。
3）范例代码 与范例编号对应，层次清楚、语句简洁、注释丰富，体现了代码优美的原则，有利于读者养成良好的代码编写习惯。对于大段程序，均在每行代码前设定编号便于学习。
4）运行结果 对范例给出运行结果和对应图示，帮助读者更直观地理解范例代码。
5）代码解析 将范例代码中的关键代码行逐一解释，有助于读者掌握相关概念和知识。
6）综合练习 为了便于读者巩固所学内容，本书每章中均提供了综合练习，并给出了操作提示和结果，配合读者自己动手实践。
7）习题 每章最后提供专门的测试习题，供读者检验所学知识是否牢固掌握，题目的提示或答案放在光盘中。
8）贴心的提示 为了便于读者阅读，全书还穿插着一些技巧、提示等小贴士，体例约定如下：
— 提示：通常是一些贴心的提醒，让读者加深印象或提供建议，或者解决问题的方法。
— 注意：提出学习过程中需要特别注意的一些知识点和内容，或者相关信息。
— 警告：对操作不当或理解偏差将会造成的灾难性后果做警示，以加深读者印象。
经作者多年的培训和授课证明，以上讲解方式是最适合初学者学习的方式，读者按照这种方式，会非常轻松、顺利地掌握本书知识。
2．实用超值的DVD光盘
为了帮助读者比较直观地学习，本书附赠DVD光盘，内容包括多媒体视频、电子教案（PPT）、编程参考宝典电子书、各章习题答案和实例源代码等。
多媒体视频
赠送近1.1GB，长达20小时手把手教学视频，讲解关键知识点界面操作和书中的一些综合练习题。作者亲自配音、演示，手把手教会读者使用。
电子教案（PPT）
本书可以作为高校相关课程的教材或课外辅导书，所以笔者特别为本书制作了电子教案（PPT），以方便老师教学使用。
编程参考宝典电子书
为方便广大读者学习，特别制作了编程开发参考电子书，供读者查阅和参考。
3．提供完善的技术支持
本书提供了论坛：http://www.rzchina.net，读者可以在上面提问交流。另外，论坛上还有一些小的教程、视频动画和各种技术文章，可帮助读者提高开发水平。
4．丰富的额外素材下载
相关的开发素材文件，在www.broadview.com.cn提供下载。
推荐的学习计划
本书作者在长期从事相关培训或教学实践过程中，归纳了最适合初学者的学习模式，并参考了多位专家的意见，为读者总结了合理的学习时间分配方式，
本书适合哪些读者阅读
本书非常适合以下人员阅读。
— 从未接触过Visual C++编程，但对Visual C++编程有兴趣的自学人员；
— 各大中专院校的在校学生和相关授课老师；
— 了解一些Visual C++，但还需要进一步学习的人员；
— 在某些需要使用Visual C++编程的特殊领域的工作人员；
— 其他编程爱好者。
本书作者 
2009年1月
目 录

第一篇 Visual C++基础篇
第1章 Visual C++ 6.0概述（精彩视频：66分钟） 19
1.1 Visual C++ 6.0简介 19
1.1.1 Visual C++ 6.0的特点 19
1.1.2 Visual C++ 6.0的版本与使用环境 20
1.2 Visual C++ 6.0集成开发环境 20
1.2.1 工作区（Workspace） 20
1.2.2 编辑区（Editor Area） 21
1.2.3 输出窗口（Output Panel） 22
1.3 Visual C++ 6.0系统菜单简介 22
1.4 Visual C++ 6.0的重要工具 23
1.4.1 C/C++编译器 23
1.4.2 资源编辑器和资源编译器 23
1.4.3 链接器和调试器 24
1.4.4 应用程序向导（AppWizard） 24
1.4.5 类向导（ClassWizard） 25
1.4.6 资源浏览器 25
1.5 第一个Visual C++程序——Hello World 27
1.5.1 使用AppWizard创建工程 27
1.5.2 添加消息处理代码 29
1.5.3 编译连接和运行 29
1.6 Visual C++ 6.0的文件说明 30
1.7 综合练习 31
1.8 小结 33
1.9 习题 34
第2章 Windows应用程序框架（精彩视频：60分钟） 36
2.1 Windows应用程序设计基础 36
2.1.1 Windows API 36
2.1.2 句柄 37
2.1.3 WinMain函数 37
2.1.4 消息及消息队列 38
2.2 MFC应用程序框架 39
2.2.1 MFC简介 40
2.2.2 使用AppWizard创建MFC应用程序框架 40
2.3 MFC应用程序框架说明 44
2.3.1 CHelloWorldApp类 45
2.3.2 CMainFrame类 46
2.3.3 CHelloWorldView类和CHelloWorldDoc类 46
2.4 综合练习 47
2.5 小结 48
2.6 习题 49
第二篇 可视化编程篇
第3章 常用控件（精彩视频：59分钟） 51
3.1 控件的基本概念 51
3.2 Visual C++中的控件 51
3.2.1 文本控件 53
3.2.2 编辑框控件（Edit Box） 56
3.2.3 按钮控件 57
3.2.4 列表框控件（List Box） 59
3.2.5 组合框控件（Combo Box） 59
3.2.6 滚动条控件（Scroll Bar） 61
3.3 控件的应用 61
3.3.1 添加、移动、复制和删除控件 61
3.3.2 控件的布局 62
3.4 控件应用实例 63
3.5 综合练习 66
3.6 小结 67
3.7 习题 67
第4章 对话框（精彩视频：70分钟） 69
4.1 对话框概述 69
4.1.1 对话框的组成 70
4.1.2 对话框的种类 70
4.1.3 对话框编辑器 71
4.1.4 对话框的属性 72
4.2 创建对话框 73
4.2.1 添加对话框资源 73
4.2.2 添加控件 74
4.2.3 使用ClassWizard创建对话框类 74
4.2.4 使用ClassWizard加入成员变量 76
4.2.5 添加消息处理函数 78
4.3 模态对话框和非模态对话框 80
4.3.1 构建主程序框架 80
4.3.2 创建非模态对话框 82
4.3.3 对话框的数据交换机制 84
4.3.4 创建模态对话框 85
4.4 综合练习 86
4.5 小结 88
4.6 习题 88
第5章 消息处理与ClassWizard使用（精彩视频：61分钟） 91
5.1 消息的种类 91
5.1.1 键盘消息 91
5.1.2 鼠标消息 92
5.1.3 窗口消息 92
5.1.4 焦点消息 93
5.1.5 定时器消息 94
5.1.6 命令消息 94
5.2 消息应用实例 95
5.3 ClassWizard的使用 97
5.3.1 启动ClassWizard 98
5.3.2 使用ClassWizard添加消息处理函数 98
5.3.3 添加成员变量 100
5.3.4 添加一个新类 102
5.4 综合练习 103
5.5 小结 104
5.6 习题 105
第6章 菜单（精彩视频：61分钟） 107
6.1 菜单概述 107
6.1.1 菜单的种类 107
6.1.2 Visual C++ 6.0自动生成的菜单 108
6.2 创建菜单 109
6.2.1 添加菜单资源 109
6.2.2 利用菜单编辑器编辑菜单资源 110
6.2.3 将菜单加入到应用程序中 113
6.2.4 添加消息处理函数 114
6.3 在应用程序中控制菜单 117
6.3.1 在应用程序中取得菜单 117
6.3.2 在应用程序中修改菜单的状态 118
6.3.3 在应用程序中添加、删除、插入菜单或菜单项 121
6.4 快捷菜单 123
6.4.1 手动创建快捷菜单 123
6.4.2 借助组件创建快捷菜单 124
6.5 综合练习 126
6.6 小结 127
6.7 习题 127
第7章 工具栏与状态栏（精彩视频：62分钟） 130
7.1 工具栏介绍 130
7.1.1 CToolBar类 131
7.1.2 创建工具栏 131
7.1.3 利用工具栏编辑器设计工具栏按钮 134
7.2 新建工具栏 135
7.2.1 添加工具栏资源 136
7.2.2 设计工具栏按钮 136
7.2.3 添加到应用程序 137
7.3 显示/隐藏工具栏 139
7.4 状态栏 143
7.4.1 状态栏介绍 143
7.4.2 CStatusBar类 143
7.4.3 创建状态栏 144
7.5 修改状态栏 145
7.5.1 指示器数组 146
7.5.2 修改状态栏 146
7.6 综合练习 147
7.7 小结 148
7.8 习题 148
第三篇 Visual C++应用篇
第8章 图形（精彩视频：56分钟） 152
8.1 理解图形设备接口 152
8.2 设备描述表 152
8.2.1 设备描述表概述 153
8.2.2 获取设备描述表 153
8.3 Windows的图形设备接口对象 154
8.4 GDI对象的创建 155
8.4.1 自定义画刷（CBrush） 155
8.4.2 自定义画笔（CPen） 156
8.5 画笔的使用 156
8.5.1 使用画笔画线 157
8.5.2 改进画线功能 159
8.6 画刷的使用 162
8.6.1 使用带颜色的画刷 162
8.6.2 使用带位图的画刷 164
8.7 综合练习 167
8.8 小结 168
8.9 习题 169
第9章 文本与字体（精彩视频：57分钟） 172
9.1 文本编程简介 172
9.1.1 基本概念 172
9.1.2 使用GDI对象自定义字体 173
9.2 字体的使用 174
9.2.1 实现简单文字处理 174
9.2.2 处理特殊字符 177
9.2.3 文本颜色应用实例 180
9.3 综合练习 184
9.4 小结 185
9.5 习题 185
第10章 文档视图结构（精彩视频：60分钟） 188
10.1 文档视图结构概述 188
10.1.1 文档和视图 188
10.1.2 文档视图应用程序 189
10.1.3 基本程序结构 189
10.1.4 框架窗口 190
10.2 文档/视图相互作用的函数 191
10.2.1 GetDocument函数 191
10.2.2 其余函数 192
10.3 单文档视图应用程序 193
10.3.1 单文档视图应用程序概述 193
10.3.2 创建单文档视图应用程序 194
10.4 多文档视图应用程序 196
10.4.1 多文档视图应用程序概述 196
10.4.2 创建多文档视图应用程序 196
10.5 综合练习 198
10.6 小结 202
10.7 习题 202
第11章 文件（精彩视频：56分钟） 204
11.1 文件基础 204
11.1.1 文件与流 204
11.1.2 文件组成与种类 205
11.2 文件操作 205
11.2.1 打开和关闭顺序文件 205
11.2.2 顺序文件的读写操作 207
11.2.3 顺序文件读写应用实例 207
11.3 CFile类 212
11.3.1 CFile类的构造函数 212
11.3.2 打开文件 213
11.3.3 读写文件 214
11.3.4 关闭文件 214
11.4 文件输入输出实现 215
11.5 创建打开和保存对话框 218
11.5.1 创建打开对话框 218
11.5.2 创建保存对话框 220
11.6 综合练习 221
11.7 小结 223
11.8 习题 223
第12章 文档序列化与注册表操作（精彩视频：55分钟） 225
12.1 文档序列化 225
12.2 序列化实例 226
12.2.1 实现简单绘图功能 227
12.2.2 添加可序列化类 229
12.2.3 重载Serialize函数 230
12.2.4 加入宏 231
12.2.5 构造CGraph类 231
12.2.6 保存图形 232
12.2.7 完成绘图功能 233
12.2.8 保存图形 234
12.3 注册表操作 236
12.3.1 注册表概述 236
12.3.2 注册表结构 237
12.3.3 读写注册表 238
12.4 综合练习 241
12.5 小结 242
12.6 习题 242
第13章 应用程序外观设计（精彩视频：59分钟） 245
13.1 修改应用程序外观样式 245
13.1.1 在框架类中修改程序外观 245
13.1.2 在视图类中修改程序外观 248
13.2 制作动画图标 249
13.3 设置图片背景 251
13.4 综合练习 256
13.5 小结 257
13.6 习题 258
第14章 面向对象程序设计基础（精彩视频：55分钟） 260
14.1 面向对象技术基本概念 260
14.1.1 面向对象技术简介 260
14.1.2 面向对象程序设计语言 261
14.2 对象和类 261
14.2.1 对象 262
14.2.2 类 262
14.3 对象的属性和方法 264
14.3.1 对象的属性 264
14.3.2 对象的方法 264
14.4 封装、继承和多态 265
14.4.1 封装 265
14.4.2 继承 266
14.4.3 多态 267
14.5 Visual C++面向对象程序设计 267
14.5.1 类的定义 267
14.5.2 类的使用 268
14.5.3 函数的重载 271
14.5.4 构造函数（Constructor） 273
14.5.5 析构函数（Destructor） 274
14.5.6 this指针 275
14.5.6 类的继承 276
14.5.7 虚函数与多态性 280
14.6 综合练习 280
14.7 小结 281
14.8 习题 281
第四篇 Visual C++开发篇
第15章 数据库编程（精彩视频：56分钟） 284
15.1 数据库概述 284
15.1.1 关系数据库系统 284
15.1.2 结构化查询语言 285
15.2 数据库访问技术介绍 285
15.2.1 Visual C++开发数据库技术的特点 286
15.2.2 Visual C++开发数据库技术 286
15.3 使用ODBC 286
15.3.1 ODBC概述 287
15.3.2 添加ODBC数据源 288
15.4 与ODBC相关的MFC类 290
15.4.1 CDatabase类 290
15.4.2 CRecordSet类 291
15.4.3 CRecordView类 293
15.5 应用ODBC编程 293
15.5.1 生成一个ODBC应用程序框架 293
15.5.2 查询记录 296
15.5.3 增加记录 297
15.5.4 修改记录 297
15.5.5 删除记录 298
15.6 ADO简介 298
15.6.1 ADO概述 298
15.6.2 ADO对象 299
15.7 使用ADO 300
15.7.1 导入ADO类型库 300
15.7.2 初始化COM环境 301
15.7.3 连接数据库 301
15.7.4 执行命令 304
15.7.5 访问数据 306
15.7.6 操作数据 306
15.7.7 关闭连接 307
15.8 应用ADO编程 307
15.9 综合练习 310
15.10 小结 312
15.11 习题 312
第16章 网络编程（精彩视频：61分钟） 316
16.1 第一个网络编程实例 316
16.2 Socket套接字及其使用 319
16.2.1 Socket概述 319
16.2.2 创建Socket 320
16.2.3 建立连接 320
16.2.4 发送数据和监听数据 321
16.2.5 接收数据 322
16.2.6 关闭套接字 322
16.3 WinSock编程机制 323
16.3.1 Windows Socket概述 323
16.3.2 WinSock编程步骤 323
16.3.3 WinSock编程实例 324
16.4 综合练习 327
16.5 小结 330
16.6 习题 330
第17章 线程同步与进程通信（精彩视频：60分钟） 332
17.1 进程和线程 332
17.2 MFC的线程处理 333
17.2.1 MFC线程处理概述 333
17.2.2 创建工作者线程 333
17.2.3 创建用户界面线程 334
17.3 线程同步 338
17.3.1 线程同步概述 338
17.3.2 关键代码段 338
17.4 进程通信 341
17.4.1 剪贴板常用函数 341
17.4.2 剪贴板通信实例 342
17.5 综合练习 345
17.6 小结 346
17.7 习题 346
第18章 动态链接库（精彩视频：49分钟） 348
18.1 第一个例子 348
18.2 动态链接库概述 351
18.2.1 静态库与动态库 351
18.2.2 运行与查看动态链接库 351
18.3 Win32 DLL的创建和使用 352
18.4 MFC规则DLL的创建 354
18.4.1 MFC规则DLL概述 354
18.4.2 MFC规则DLL的创建 354
18.5 综合练习 357
18.6 小结 360
18.7 习题 361
第19章 ActiveX技术（精彩视频：45分钟） 363
19.1 ActiveX简介 363
19.2 ActiveX控件概述 364
19.2.1 ActiveX控件与普通Windows控件 364
19.2.2 ActiveX控件的属性 364
19.2.3 ActiveX控件的方法 365
19.2.4 ActiveX控件的事件 366
19.3 创建ActiveX控件 367
19.3.1 创建ActiveX控件应用程序外壳 367
19.3.2 添加OnDraw函数代码 370
19.3.3 解决时钟不能自动更新 372
19.4 ActiveX控件高级应用 373
19.4.1 添加背景色属性 373
19.4.2 添加方法 376
19.4.3 添加事件 378
19.5 综合练习 380
19.6 小结 381
19.7 习题 382
第20章 Visual C++的调试技术（精彩视频：51分钟） 384
20.1 Visual C++的基本调试方法 384
20.1.1 错误类型 384
20.1.2 建立调试环境 385
20.1.3 设置断点 385
20.1.4 控制程序的运行 389
20.2 使用查看工具 390
20.2.1 调试信息泡泡（Data Tips Pop_up Information） 390
20.2.2 变量窗口（Variables Window） 390
20.2.3 观察窗口（Watch Window） 391
20.2.4 快速查看变量对话框（Quick Watch） 391
20.3 高级调试技术 392
20.3.1 TRACE宏 392
20.3.2 断言 393
20.3.3 对象的DUMP函数 394
20.3.4 检查内存漏洞 394
20.4 调试实例 395
20.5 综合练习 397
20.6 小结 398
20.7 习题 399
第五篇 案例篇
第21章 综合案例（精彩视频：57分钟） 401
21.1 系统功能概述 401
21.2 系统功能实现 402
21.2.1 建立数据库 402
21.2.2 添加ODBC数据源 403
21.2.3 建立应用程序工程 404
21.2.4 设计操作主界面 406
21.3 实现成绩浏览功能 408
21.3.1 添加成员变量 408
21.3.2 添加成员函数 409
21.3.3 添加事件代码 410
21.3.4 调试运行 411
21.4 实现添加成绩功能 412
21.5 实现删除成绩功能 413
21.6 实现成绩查询功能 414
21.7 小结 416