第1章 微软基础类库MFC与应用程序框架
1.1 微软基础类库MFC
1.1.1 一个简单的MFC程序
1.1.2 创建Windows程序
1.1.3 MFC类库结构
1.1.4 源程序分析
1.1.5 应用程序对象
1.1.6 窗口对象
1.1.7 静态文本控件
1.1.8 消息映射
1.1.9 窗口消息
1.2 MFC应用程序框架
1.2.1 应用程序向导AppWizard
1.2.2 使用项目工作区
1.3 MFC应用程序框架与win32程序的关联
1.3.1 MFC应用程序框架对Win32程序的封装
1.3.2 MFC应用程序的基本类
1.4 消息路由与自定义类的消息处理
1.4.1 基础知识
1.4.2 应用类的Run()函数
1.4.3 SendMessage()和PostMessage()函数
1.4.4 消息映射表
1.4.5 寻找消息处理函数
1.4.6 处理消息的路径
1.4.7 自定义消息处理
1.4.8 综合实例:自定义消息处理
小结
习题
第2章 对话框与控件编程
2.1 消息对话框
2.2 对话框的创建与使用流程
2.2.1 创建模态对话框
2.2.2 创建对话框类
2.2.3 向程序中添加代码
2.2.4 消息响应函数
2.2.5 数据交换和检验
2.3 非模态对话框
2.4 通用对话框
2.5 属性对话框
2.5.1 CPropertySheet类
2.5.2 创建属性页对话框
2.6 常用控件
2.6.1 Picture控件
2.6.2 Edit控件
2.6.3 Spin控件
2.6.4 ComboBox控件
2.6.5 Slider控件
2.6.6 Horizonial/Vertical ScrollBar控件
2.6.7 Tab控件
2.6.8 Tree控件
2.6.9 List控件
2.6.10 Progress控件
2.6.11 Animate控件
2.7 对话框综合实例
2.7.1 设计目标
2.7.2 设计思路
2.7.3 实现步骤
小结
习题
第3章 文档、视图与框架窗口
3.1 框架窗口
3.1.1 主框架窗口和文档窗口
3.1.2 文档类和视图类
3.2 理解文档、视图和框架
3.2.1 基本概念
3.2.2 文档及视图结构
3.2.3 单文档应用的执行过程
3.2.4 文档、视图和框架窗口之间的相互作用
3.3 文档一视图结构中的用户数据存储
3.3.1 文档一视图结构中的用户数据
3.3.2 数据流层分析
3.3.3 构建用户数据结构
3.4 在文档类中创建用户数据操作平台
3.4.1 头文件的作用
3.4.2 提供用户数据
3.5 创建用户界面交互平台
3.5.1 设计用户界面
3.5.2 设置控件属性
3.5.3 添加成员变量
3.5.4 数据交换与数据校验机制
3.5.5 程序运行之前的准备
3.5.6 【输入】按钮的处理
3.5.7 【输出】按钮的处理
3.6 对象的持久性机制
3.6.1 序列化操作机制
3.6.2 实现对象的序列化
3.7 MFC中的集合类
3.7.1 集合类
3.7.2 如何选用MFC集合类
3.7.3 模板类和非模板类“
3.7.4 使用CObList集合类实现队列操作
3.7.5 使用链式存储结构存储用户定义数据
3.7.6 链式存储
3.7.7 映象集合类及其使用
3.7.8 “排课表”设计
3.8 用户自定义类与消息映射
3.8.1 添加消息映射机制
3.8.2 消息路由
3.9 综合实例
3.9.1 构建通讯录数据结构
3.9.2 动态数组
3.9.3 实现过程
3.10 文档视窗的结合
3.10.1 了解文档一视图结构
3.10.2 文档一视图结构之间的关系
3.10.3 一般视图类
3.10.4 视图之间相互作用的成员函数
3.10.5 文档视图实例
3.11 一档多视
3.11.1 一档多视的构成
3.11.2 实例:一档多视图
3.11.3 实现一档多视
3.11.4 切换没有切分的视图类
3.12 多档多视
3.12.1 设计思路
3.12.2 实现步骤
3.12.3 多文档应用程序框架的多档多视
3.12.4 多文档应用程序中的各子窗口的交互
3.12.5 编制基于多文档的应用程序
小结
习题
第4章 绘图与打印
4.1 MFC绘图要素
4.1.1 画布——设备描述表类(CDC)
4.1.2 绘制图形——图形对象类(CGdiObject)
4.1.3 获取设备描述表对象
4.1.4 创建CPen对象
4.1.5 创建CBrush对象
4.1.6 创建CFont对象
4.1.7 设置绘图坐标
4.1.8 工作区坐标系统
4.1.9 其他绘图属性
4.2 绘图操作
4.2.1 输出文本
4.2.2 绘图操作
4.2.3 绘图步骤
4.2.4 实例——创建画图程序
4.3 位图处理
4.3.1 CBitmap类
4.3.2 显示GDI位图
4.3.3 实例
4.4 综合实例:编写绘图程序
小结
习题
第5章 数据库编程
5.1 ODBC数据库编程
5.1.1 开放数据库互连(ODBC)
5.1.2 数据源名(DSN)
5.1.3 访问ODBC数据源
5.1.4 CDatabase类
5.1.5 CRecordset类
5.2 记录集的建立和关闭
5.3 记录排序与过滤
5.4 滚动记录
5.5 修改、添加和删除记录
5.5.1 修改记录
5.5.2 添加记录
5.5.3 删除记录
5.6 CRecordView类
5.7 使用ActiveX控件
5.7.1 Adodc数据控件与DataGrid控件
5.7.2 MSFlexGrid控件
5.8 综合实例:师资管理信息系统
5.8.1 设计目标
5.8.2 用户需求分析
5.8.3 数据结构
5.8.4 功能模块图
5.8.5 配置ODBC数据源
5.8.6 界面设计
5.8.7 验证用户权限代码设计
5.8.8 初始化主界面代码设计
5.8.9 单击TreeView结点事件设计
5.8.10 基本情况列表数据
5.8.11 显示教师信息
5.8.12 查询模块代码设计
5.8.13 添加记录
5.8.14 数据编辑代码设计
5.8.15 修改指定记录
5.8.16 删除指定记录
5.8.17 教籍转移代码
5.8.18 年龄职称表处理
5.8.19 转储功能
5.9 ADO数据库编程
5.9.1 ADO编程步骤
5.9.2 设计应用程序
5.9.3 AD0设计实例
小结
习题
第6章 多线程编程
6.1 多线程基础
6.1.1 进程与线程
6.1.2 使用Win32函数控制线程对共享资源的访问
6.2 多线程编程
6.2.1 用户界面线程
6.2.2 创建用户界面线程
6.2.3 启动用户界面线程
6.2.4 使用用户界面窗口
6.2.5 工作者线程
6.3 线程的终止
6.3.1 线程的正常终止
6.3.2 线程的异常终止
6.3.3 几种终止函数的比较
6.4 线程的管理和操作
6.4.1 线程优先级
6.4.2 控制运行状态
6.4.3 线程之间的通信
6.5 多线程的调试
6.6 多线程实例
小结
习题
第7章 网络编程
7.1 网络应用程序结构和TCP/IP协议
7.1.1 网络通信
7.1.2 TCP/IP协议和TCP/IP参考模型
7.1.3 套接字和端口
7.2 MFC winsock类和winsock编程模型
7.2.1 WinSock和MFC
7.2.2 CSocket类的使用
7.2.3 CSocketFile类和CArchive类
7.2.4 WinSock编程模型
7.3 使用CSocket的聊天服务器
7.3.1 聊天室服务器功能简介
7.3.2 服务器的工作流程
7.3.3 创建服务器应用程序
7.4 聊天室客户端的设计
7.4.1 聊天室客户端功能简介
7.4.2 客户端的工作流程
7.4.3 创建客户端应用程序
小结
习题
第8章 动态链接库
8.1 动态链接库与静态库文件
8.2 DLL的两种动态链接方法
8.3 动态链接库与可执行程序
8.4 动态链接库编程
8.4.1 动态链接库的导出函数
8.4.2 实例
8.4.3 隐式调用DLL的实现方法
8.4.4 显式调用DLL的实现方法
8.5 综合实例
8.5.1 钩子概述
8.5.2 线程局部钩子与系统全局钩子
8.5.3 钩子的安装与卸载
8.5.4 使用鼠标钩子
8.5.5 使用键盘钩子
小结
附录A 程序调试
A.1 Visual C++调试环境
A.1.1 与调试相关的菜单命令
A.1.2 在调试中修改代码
A.2 控制程序运行
A.3 检查变量值
参考文献