第1章 Visual C++集成开发环境 1
1.1 Visual C++概述 1
1.1.1 Visual C++的特点 1
1.1.2 Visual C++的安装 2
1.1.3 集成开发环境窗口 3
1.1.4 MSDN帮助系统 5
1.2 项目和项目工作区 7
1.2.1 项目 7
1.2.2 项目工作区 7
1.2.3 项目设置 10
1.3 编辑器 11
1.3.1 源代码编辑器 11
1.3.2 资源编辑器 12
1.4.1 菜单栏 17
1.4 菜单栏和工具栏 17
1.4.2 工具栏 18
1.4.3 Standard工具栏 19
1.4.4 Build MiniBar工具栏 20
1.4.5 WizardBar工具栏 21
习题 22
第2章 C++语言基础 23
2.1 C++概述 23
2.1.1 C++的主要特点 23
2.1.2 C++程序与C程序 24
2.1.3 C++对C的一般扩充 25
2.1.4 利用Visual C++编制C++程序 26
2.2 C++程序基本要素 27
2.2.1 标识符 27
2.2.2 关键字 27
2.2.4 运算符和表达式 28
2.2.3 常量和变量 28
2.3.1 基本数据类型 29
2.3 C++数据类型 29
2.3.2 const常量类型 31
2.3.3 数组 32
2.3.4 指针 33
2.3.5 字符串 35
2.3.6 结构 36
2.3.7 枚举 38
2.3.8 用typedef定义类型 38
2.4 变量的作用域与存储类型 39
2.4.1 作用域和生存期 39
2.4.2 存储类型 41
2.4.3 作用域限定符 43
2.4.4 动态内存分配 43
2.5.1 条件语句 45
2.5 控制语句 45
2.5.2 循环语句 47
2.5.3 转移语句 49
2.6 函数 50
2.6.1 函数定义、函数调用和函数声明 50
2.6.2 函数参数的默认值 54
2.6.3 内联函数 55
2.6.4 引用 55
2.7 编译预处理指令 57
2.7.1 #include文件包含指令 57
2.7.2 #define宏定义指令 57
2.7.3 条件编译指令 59
习题 60
3.1.1 传统的结构化程序设计 67
3.1 面向对象程序设计概述 67
第3章 C++面向对象程序设计 67
3.1.2 面向对象程序设计方法及特征 68
3.2 C++类 70
3.2.1 类的定义与实现 70
3.2.2 构造函数和析构函数 72
3.2.3 this指针 74
3.2.4 静态成员 76
3.2.5 友元 78
3.3 类的继承 80
3.3.1 基类和派生类 80
3.3.2 基类和派生类的构造函数 83
3.3.3 多重继承 85
3.3.4 虚基类 87
3.4.1 用基类指针指向派生类对象 89
3.4 多态性和虚函数 89
3.4.2 虚函数 90
3.4.3 抽象类和纯虚函数 93
3.5 重载 94
3.5.1 函数重载 95
3.5.2 运算符重载 96
3.6 C++模板 99
3.6.1 函数模板 99
3.6.2 类模板 100
3.7 Microsoft Visual C++的语法扩充 102
3.7.1 Visual C++自定义数据类型 102
3.7.2 Visual C++运行库 103
3.7.3 运行时类型识别 104
3.7.4 编程规范 106
习题 107
4.1.1 Visual C++中的向导类型 117
4.1 应用程序向导 117
第4章 创建应用程序框架 117
4.1.2 使用MFC AppWizard 118
4.1.3 MFC应用程序的开发流程 128
4.2 应用程序向导生成的文件 130
4.2.1 应用程序向导生成的文件类型 130
4.2.2 应用程序向导生成的头文件 131
4.2.3 应用程序向导生成的实现文件 133
4.2.4 应用程序向导生成的资源文件 139
4.2.5 应用程序向导生成的其他文件 140
4.3 ClassWizard类向导 141
4.3.1 C1assWizard的功能 141
4.3.2 添加消息处理函数 142
4.3.3 为项目添加新类 145
4.4.1 查找源程序中的语法错误 146
4.4 程序调试 146
4.4.2 Debug调试器 147
4.4.3 跟踪调试可执行程序 150
习题 152
第5章 文档与视图 155
5.1 文档与视图结构 155
5.1.1 文档与视图结构概述 155
5.1.2 文档与视图之间的相互作用 157
5.1.3 多文档 159
5.2 菜单设计 162
5.2.1 建立菜单资源 162
5.2.2 添加菜单命令处理函数 164
5.2.3 弹出式菜单 168
5.3 鼠标消息处理 170
5.3.1 鼠标消息 170
5.3.2 一个简单的绘图程序 170
5.4.1 添加工具栏按钮 176
5.4 工具栏和状态栏设计 176
5.4.2 定制状态栏 177
5.5 文档的读写 180
5.5.1 序列化工作原理 180
5.5.2 MFC应用程序的序列化 182
5.6 使用不同视图 184
5.6.1 滚动视图 185
5.6.2 多视图 186
习题 190
第6章 MFC原理与方法 193
6.1 Windows编程机制 193
6.1.1 关于API和SDK 194
6.1.2 句柄 198
6.1.3 事件和消息 200
6.2.1 MFC概述 202
6.2 MFC微软基础类 202
6.2.2 MFC体系结构 204
6.2.3 学习MFC的方法 206
6.3 MFC应用程序框架 207
6.3.1 应用程序框架中的对象 207
6.3.2 MFC应用程序的生与死 208
6.3.3 常用的MFC文件和库文件 211
6.4 MFC消息管理 214
6.4.1 MFC消息映射机制 214
6.4.2 消息的发送 216
6.4.3 手工处理消息映射 217
6.5 MFC宏 220
6.5.1 有关运行时类型识别的宏 221
6.5.2 MFC调试宏 223
6.6 常用的MFC类 224
6.6.2 CObject类 225
6.6.1 CRuntimeClass结构 225
6.6.3 CCmdTarget类 227
6.6.4 CWinApp类 228
6.6.5 CWnd类 228
6.6.6 CFrameWnd类 229
6.6.7 CDocument和CView类 229
习题 230
第7章 对话框和控件 233
7.1 对话框概述 233
7.1.1 基于对话框的应用程序 233
7.1.2 对话框类CDialog 235
7.1.3 对话框数据交换DDX和验证DDV 236
7.1.4 提示信息对话框 239
7.2 使用对话框 240
7.2.1 一般对话框工作流程 241
7.2.2 创建对话框 242
7.2.3 添加控件及关联的成员变量 245
7.2.4 非模态对话框 251
7.2.5 公用对话框 256
7.3 标准控件 258
7.3.1 控件概述 258
7.3.2 控件的组织 260
7.3.3 控件共有属性 262
7.3.4 静态控件 264
7.3.5 编辑框 265
7.3.6 按钮 268
7.3.7 列表框 272
7.3.8 组合框 277
7.3.9 滚动条 282
7.4 公共控件 283
7.4.1 旋转按钮 283
7.4.2 滑块 286
7.4.3 进度条 289
7.4.4 标签控件和属性表 291
7.4.5 图像列表 298
7.4.6 列表视控件 301
7.4.7 树视控件 308
习题 312
第8章 图形处理 317
8.1 图形设备接口 317
8.1.1 概述 317
8.1.2 设备环境 318
8.1.3 GDI坐标系和映射模式 320
8.1.4 颜色的设置 326
8.2 画笔和画刷 327
8.2.1 GDI对象 327
8.2.2 使用画笔 328
8.2.3 使用画刷 331
8.2.4 使用GDI堆对象 333
8.2.5 绘制基本图形 335
8.3 文本与字体 337
8.3.1 绘制文本 337
8.3.2 字体概述 338
8.3.3 创建字体 340
8.4 位图、图标和光标 345
8.4.1 位图 345
8.4.2 图标 347
8.4.3 光标 349
习题 352
第9章 深入Visual C++编程 355
9.1 打印 355
9.1.1 MFC的打印流程 355
9.1.2 设置打印坐标系 358
9.1.3 分页处理 361
9.1.4 停止和取消打印 365
9.2 异常处理 366
9.2.1 C++中的异常处理 366
9.2.2 Win32异常处理 368
9.2.3 MFC异常宏 372
9.2.4 MFC中的异常处理 373
9.3 动态链接库 377
9.3.1 动态链接库概述 377
9.3.2 创建动态链接库 378
9.3.3 使用动态链接库 380
9.4 多线程 384
9.4.1 进程和线程 384
9.4.2 工作线程 385
9.4.3 用户界面线程 390
9.5.1 组件和ActiveX控件 392
9.5 ActiveX控件 392
9.5.2 创建ActiveX控件 394
9.5.3 ActiveX控件的使用 399
9.6 托盘程序 400
9.6.1 利用钩子截获消息 400
9.6.2 实现托盘的数据结构和API函数 402
9.6.3 一个截获键盘输入的托盘程序 403
9.7 ODBC数据库编程 408
9.7.1 ODBC概述 408
9.7.2 MFC ODBC数据库类 409
9.7.3 实现步骤 410
习题 417
常用术语索引 419
参考文献 422
读者意见反馈 423