目录 1
第1章 C++基础 1
1.1 简单C++程序 1
1.2 类和对象 3
1.2.1 从结构到类 3
1.2.2 类的定义 4
1.2.3 对象的定义 5
1.3 类的成员及特性 6
1.3.1 构造函数 6
1.3.2 析构函数 7
1.3.3 对象成员初始化 8
1.3.4 常类型 10
1.3.5 this指针 13
1.3.6 静态成员 14
1.3.7 友元 16
1.4 继承和派生类 18
1.4.1 单继承 18
1.4.2 派生类的构造函数和析构函数 22
1.4.3 多继承 22
1.5 多态和虚函数 23
1.5.1 虚函数 23
1.5.2 纯虚函数和抽象类 25
习题 27
2.1 Windows程序结构 28
2.1.1 简单的Windows应用程序 28
第2章 Windows编程基础 28
2.1.2 Windows编程特点 32
2.1.3 Windows基本数据类型 34
2.2 Windows简单编程 35
2.2.1 绘制文本 35
2.2.2 使用控件 38
2.3 MFC编程基础 42
2.3.1 MFC概述 42
2.3.2 设计一个MFC程序 43
2.3.3 理解程序代码 44
2.3.4 使用MFC AppWizard 46
习题 48
3.1 创建对话框 49
第3章 对话框 49
3.2 添加并使用对话框 50
3.2.1 资源与资源标识 51
3.2.2 添加对话框资源 52
3.2.3 设置对话框属性 53
3.2.4 添加和布局控件 54
3.2.5 创建对话框类 57
3.2.6 添加对话框代码 58
3.2.7 在程序中使用对话框 59
3.3 使用无模式对话框 62
3.4 通用对话框和消息对话框 64
3.4.1 通用对话框 64
3.4.2 消息对话框 66
习题 67
第4章 常用控件 68
4.1 控件的创建和基本使用方法 68
4.1.1 控件的创建方法 68
4.1.2 控件的消息及消息映射 71
4.1.3 控件的数据交换和数据校验 75
4.2 静态控件和按钮 78
4.2.1 静态控件 78
4.2.2 按钮 79
4.2.3 示例——制作问卷调查 81
4.3 编辑框和旋转按钮控件 84
4.3.1 编辑框的属性和通知消息 84
4.3.2 编辑框的基本操作 85
4.3.3 旋转按钮控件 87
4.3.4 示例——用对话框输入学生成绩 88
4.4 列表框 91
4.4.1 列表框的风格和消息 91
4.4.2 列表框的基本操作 93
4.4.3 示例——城市邮政编码 95
4.5 组合框 98
4.5.1 组合框的风格类型和消息 98
4.5.2 组合框常见操作 99
4.5.3 示例——城市邮政编码和区号 100
4.6 进展条、滚动条和滑动条 104
4.6.1 进展条 104
4.6.2 滚动条 107
4.6.3 滑动条 109
4.6.4 示例——调整对话框背景颜色 110
4.7 日期时间控件 113
4.8 图像列表、列表和树控件 117
4.8.1 图像列表控件 117
4.8.2 列表控件 118
4.8.3 树控件 125
习题 131
第5章 菜单、工具栏和状态栏 132
5.1 文档应用程序框架 132
5.1.1 文档应用程序的MFC类结构 132
5.1.2 项目的文件组织 133
5.2.1 更改应用程序菜单 134
5.2 菜单 134
5.2.2 使用键盘快捷键 136
5.2.3 菜单的编程控制 137
5.2.4 使用快捷菜单 141
5.3 工具栏 142
5.3.1 使用工具栏编辑器 142
5.3.2 工具按钮和菜单项相结合 144
5.3.3 多个工具栏的使用 145
5.4 状态栏 148
5.4.1 状态栏的定义 148
5.4.2 状态栏的常用操作 149
5.4.3 改变状态栏的风格 150
习题 151
6.1.1 主框架窗口和文档窗口 152
第6章 框架窗口、文档和视图 152
6.1 框架窗口 152
6.1.2 窗口状态的改变 153
6.1.3 窗口风格的设置 154
6.1.4 改变窗口的大小和位置 160
6.2 文档模板 161
6.2.1 文档模板类 161
6.2.2 文档模板字符串资源 162
6.2.3 使用多个文档类型 164
6.3 文档的读写 167
6.3.1 MFC文档读写机制 167
6.3.2 使用简单数组集合类 172
6.3.3 建立可序列化的类 175
6.3.4 文档序列化示例 176
6.3.5 使用CFile类 181
6.4 文档视图结构 184
6.4.1 一般视图类的使用 184
6.4.2 文档与视图的相互作用 189
6.4.3 应用程序对象指针的互调 191
6.4.4 切分窗口 192
6.4.5 一档多视 196
习题 202
第7章 图形、文本和打印 204
7.1 设备环境和简单数据类 204
7.1.1 设备环境类 204
7.1.2 坐标映射 204
7.1.3 CPoint、CSize和CRect 206
7.1.4 颜色和颜色对话框 209
7.1.5 图形设备接口 210
7.2 简单图形绘制 211
7.2.1 画笔 211
7.2.2 画刷 213
7.2.3 绘图示例 214
7.3 字体与文字处理 216
7.3.1 字体和字体对话框 216
7.3.2 常用文本输出函数 218
7.3.3 文本格式化属性 220
7.3.4 计算字符的几何尺寸 221
7.3.5 文档内容显示及其字体改变 222
7.4 位图、图标与光标 224
7.4.1 使用图形编辑器 225
7.4.2 位图 226
7.4.3 图标 229
7.4.4 光标 232
7.5 打印与打印预览 235
7.5.1 打印与打印预览机制 235
7.5.2 打印与打印预览的设计 236
7.5.3 完整的示例 242
习题 245
第8章 数据库编程 246
8.1 数据库基本概念 246
8.1.1 数据模型 246
8.1.2 Visual C++对数据库的支持 247
8.2 ODBC数据库编程 248
8.2.1 MFC的ODBC编程过程 248
8.2.2 ODBC数据表更新 253
8.2.3 MFC的ODBC类 255
8.3 数据库常用编程操作 258
8.3.1 显示记录总数和当前记录号 258
8.3.2 编辑记录 260
8.3.3 字段操作 263
8.3.4 多表处理 267
8.4 数据库相关的ActiveX控件 273
8.4.1 使用MSFlexGrid控件 273
8.4.2 RemoteData和DBGrid控件 276
8.5 使用ADO操作数据库 279
习题 286
第9章 高级应用 287
9.1 多媒体 287
9.1.1 图像处理 287
9.1.2 使用媒体控制接口(MCI) 292
9.1.3 使用MCIWnd窗口类 298
9.1.4 使用OpenGL 301
9.1.5 DirectX编程 306
9.2 动态链接库 312
9.2.1 DLL的概念 312
9.2.2 动态链接库的创建 313
9.2.3 动态链接库的访问 315
9.3 ActiveX控件 316
9.3.1 创建ActiveX控件 317
9.3.2 测试和使用ActiveX控件 323
9.4 多线程 326
9.4.1 进程和线程 326
9.4.2 线程的管理和操作 327
9.4.3 线程通信 328
9.4.4 线程同步 331
9.5 网络应用 333
9.5.1 概述 334
9.5.2 Windows Sockets编程 334
9.5.3 WinInet应用 341
习题 345
附录A Visual C++常用编程操作方法 346
附录 346
附录B 程序简单调试 350
附录C C++基本知识点 354
C.1 程序书写规范 354
C.2 数据类型 354
C.3 运算符和表达式 358
C.4 基本语句 361
C.5 函数 363
C.6 指针和引用 364
C.7 cout和cin 366
C.8 预处理 366
附录D 常用的C++库函数 369