前言 1
第1章 VC++基础知识与 Visual C++6.0 开发环境 1
本章学习目标 1
1.1 VC++基础知识 1
1.1.1 Visual C++和MFC的历史 1
1.1.2 帮助的使用 2
1.1.3 面向对象的编程语言 3
1.2 Visual C++6.0开发环境简介 6
1.2.1 Visual C++6.0主界面 6
1.2.2 用 AppWizard生成一个单文档程序 7
1.2.3 用 AppWizard生成一个基于对话框程序 15
1.3 本章小结 19
1.4 习题 19
第2章 文档和视 20
本章学习目标 20
2.1 通过视类与用户交互 20
2.1.1 在视中响应鼠标输入与画图 21
2.1.2 在视中响应键盘输入与显示字符 26
2.2 利用文档类处理数据 27
2.3 基础知识 31
2.4 本章小结 34
2.5 习题 34
第3章 对话框与控件 35
本章学习目标 35
3.1 使用对话框与控件 35
3.1.1 创建工程并编辑对话框资源 36
3.1.2 创建对话框类并添加代码 37
3.1.3 技术说明 39
3.2 模态对话框 40
3.2.1 添加菜单资源和菜单响应函数 41
3.2.2 编辑对话框资源和创建对话框类 42
3.2.3 添加消息响应函数和代码 43
3.2.4 技术要点 46
3.3 非模态对话框 52
3.3.1 创建对话框类及添加控件 53
3.3.2 显示非模态对话框 53
3.3.3 实现对话框的功能 55
3.3.4 技术要点 58
3.4 进度条对话框 61
3.4.2 显示进度条对话框 62
3.4.1 创建对话框及添加控件 62
3.4.3 实现对话框的功能 63
3.4.4 技术要点 64
3.5 属性页对话框 67
3.5.1 创建对话框类及添加控件 68
3.5.2 显示属性页对话框 68
3.5.3 实现对话框的功能 69
3.5.4 技术要点 72
3.6 使用通用对话框 73
3.6.3 实现对话框的功能 74
3.6.2 显示对话框 74
3.6.1 创建对话框类及添加控件 74
3.6.4 技术要点 75
3.7 本章小结 76
3.8 习题 76
第4章 菜单、快捷键和控制条 77
本章学习目标 77
4.1 菜单 77
4.1.1 利用 AppWizard 生成 MenuTest 程序框架 78
4.1.2 菜单命令的响应 79
4.1.3 技术要点 84
4.2 快捷菜单 85
4.2.1 编辑快捷菜单资源 85
4.2.2 显示快捷菜单 86
4.2.3 添加菜单消息处理函数 88
4.2.4 技术要点 92
4.3 动态菜单 92
4.3.1 编辑菜单资源 93
4.3.2 加入菜单响应函数 94
4.3.3 加入动态菜单响应函数 96
4.3.4 技术要点 98
4.4 工具条 99
4.4.1 自定义工具条 99
4.4.2 在工具条上添加控件 102
4.4.3 技术要点 105
4.5 状态条 106
4.6 对话条 110
4.7 本章小结 113
4.8 习题 114
5.1.1 基础知识 115
5.1 CD和CDC类 115
本章学习目标 115
第5章 图形操作 115
5.1.2 使用设备环境类绘图的一个简单例子 116
5.2 GDI和CGdiObject类 120
5.3 绘图程序实例一 122
5.3.1 用应用向导产生程序框架 122
5.3.2 修改、添加资源 123
5.3.3 添加数据类型及变量 123
5.3.4 添加函数 124
5.4 绘图程序实例二 130
5.5 本章小结 144
5.6 习题 144
第6章 文件操作 145
本章学习目标 145
6.1 文件操作类CFile 145
6.1.1 文件的打开与关闭 145
6.1.2 文件的读写 148
6.1.3 文件的定位 151
6.1.4 文件的状态函数 153
6.1.5 CFile 类的静态函数 155
6.1.6 文件删除、改名和属性设置实例 156
6.2 文本文件类CStdioFile 157
6.2.1 CStdioFile类 157
6.2.2 CStdioFile读文件实例 159
6.3 文件查找 159
6.3.1 CFileFind类 159
6.3.2 遍历某目录下的某种类型文件的实例 162
6.4 Windows的文件操作简介 163
6.4.1 拷贝、移动、改名、删除 163
6.4.2 取得文件信息 165
6.6 习题 166
6.5 本章小结 166
第7章 MFC通用类 168
本章学习目标 168
7.1 数组类 168
7.1.1 数组类的主要成员函数 168
7.1.2 使用数组类的例子 170
7.2 链表类 177
7.2.1 链表类的主要成员函数 177
7.2.2 使用链表类的例子 179
7.3 字符串类 185
7.3.2 基本操作函数 186
7.3.1 构造函数 186
7.3.4 字符串比较 187
7.3.3 赋值与合并 187
7.3.5 字符串提取函数 188
7.3.6 字符串转换函数 188
7.3.7 字符串查找函数 189
7.3.8 使用CString类的几个例子 190
7.4 日期和时间类 191
7.4.1 CTime类的主要成员函数 191
7.4.2 CTimeSpan类的主要成员函数 195
7.5.1 CPoint 196
7.5 CPoint、CRect和CSize 196
7.5.2 CSize 197
7.5.3 CRect 197
7.5.4 使用CRect、CPoint的例子 199
7.6 本章小结 206
7.7 习题 206
第8章 异常处理和诊断 207
本章学习目标 207
8.1 处理C++异常 207
8.2.1 CException类 210
8.2 MFC异常类 210
8.2.2 CException的导出类 211
8.3 诊断服务 216
8.4 本章小结 218
8.5 习题 219
第9章 多线程 220
本章学习目标 220
9.1 创建线程 220
9.1.1 线程基本知识 220
9.1.2 创建线程实例 221
9.2 线程间通信 224
9.2.1 使用全局变量 225
9.2.2 使用用户自定义消息通信 226
9.2.3 使用Event对象 227
9.3 线程同步 230
9.3.1 使用Critical Section 230
9.3.2 使用Mutex(互斥对象) 236
9.3.3 使用(Semaphore)信号量 238
9.4 本章小结 246
9.5 习题 246