第1章 Visual C++6.0简介
1.1 Visual C++和MFC概述
1.1.1 Visual C++的功能
1.1.2 MFC库的功能
1.1.3 创建基于MFC的应用程序
1.2 Visual C++的改进
1.2.1 调试器
1.2.2 编辑器
1.2.3 工程
1.2.4 向导
1.2.5 工具
1.3 MFC的改进
1.3.1 数据库
1.3.2 Internet
1.4 实验1.1 创建基于MFC的应用程序
1.4.1 练习:创建简单的Scribble应用程序
第2章 调试和错误处理
2.1 调试
2.1.1 Visual Studio调试器概述
2.1.2 使用Edit and Continue功能
2.2 处理错误和异常
2.2.1 编写健壮的函数
2.2.2 异常处理
2.2.3 异常处理过程
2.2.4 MFC异常类
2.3 实验2.1 使用Edit and Continue
2.3.1 练习:使用Edit and Continue
2.4 实验2.2 实现异常处理
2.4.1 练习1:处理异常
2.5 自测题
第3章 完善用户界面
3.1 增强菜单
3.1.1 实现动态菜单
3.1.2 实现级联菜单
3.1.3 实现自绘菜单
3.2 增强工具栏
3.2.1 在框架窗口中启用停靠
3.2.2 创建浮动工具栏
3.3 增强状态栏
3.4 增强对话框
3.4.1 自定义通用对话框
3.4.2 扩展对话框数据验证
3.4.3 调整控件
3.4.4 创建属性表和选项卡对话框
3.5 实验3.1 创建动态菜单
3.5.1 练习1:创建动态菜单
3.6 实验3.2 自定义通用对话框类
3.6.1 练习1:创建自定义的File Open模板
3.6.2 练习2:自定义对话框类
3.6.3 练习3:实现对话框类处理程序
3.7 使用非模态对话框
3.7.1 初始化并显示非模态对话框
3.7.2 实现命令按钮
3.7.3 删除对话框对象
3.7.4 与应用程序通信
3.8 使用对话框栏
3.8.1 对话框栏简介
3.8.2 添加对话框栏
3.8.3 实现命令处理程序
3.9 使用组合工具栏
3.9.1 组合工具栏简介
3.9.2 组合工具栏类
3.9.3 创建组合工具栏
3.9.4 向组合工具栏中添加子窗口
3.9.5 自定义组合工具栏
3.10 实验3.3 添加非模态对话框
3.10.1 练习1:创建对话框模板
3.10.2 练习2:实现对话框类
3.10.3 练习3:将对话框集成到应用程序中
3.11 实验3.4 添加对话框栏
3.11.1 练习1:创建对话框栏资源
3.11.2 练习2:实现对话框栏
3.11.3 练习3:为对话框栏实现组合框
3.11.4 练习4:使用命令处理程序实现组合框
3.12 实验3.5 添加组合工具栏
3.12.1 练习1:实践组合工具栏
3.13 示例应用程序
3.14 自测题
第4章 实现视图类
4.1 视图简介
4.1.1 CView类
4.1.2 管理文档/视图的交互
4.2 添加多个视图
4.2.1 向SDI程序中添加多个视图
4.2.2 向MDI程序中添加多个视图
4.2.3 抑制子窗口的自动创建
4.2.4 设置子框架窗口的标题
4.3 添加滚动视图
4.3.1 滚动视图简介
4.3.2 将应用程序视图转化为滚动视图
4.3.3 调整滚动特性
4.3.4 坐标转换
4.4 实现分割窗口
4.4.1 分割窗口简介
4.4.2 创建动态分割窗口
4.4.3 创建静态分割窗口
4.5 实验4.1 添加一个分割条
4.5.1 练习1:增加一个分割窗口
4.6 实现窗体会视图
4.6.1 用户定义的窗体视图
4.6.2 数据库视图控件
4.7 实现控件视图
4.7.1 控件视图简介
4.7.2 CListView概览
4.7.3 实现CListView
4.7.4 CTreeView类概览
4.7.5 CTreeView视图类的实现
4.7.6 CEdilView概览
4.7.7 CEditView的实现
4.7.8 CRichEditView概览
4.7.9 CRichEditView的实现
4.8 创建Explorer样式的应用程序
4.9 协调多个相互关联的视图
4.9.1 使用函数UpdateAllViews协调数据
4.9.2 不使用函数UpdateAllViews协调数据
4.10 实验4.2 添加一个Open File对话框和一个多功能编辑视图
4.10.1 练习1:改变文档和视图的基类
4.10.2 练习2:处理标准的打开文件对话框
4.10.3 练习3:在应用程序中使用多功能编辑视图
4.10.4 练习4:管理拖放编辑
4.11 实验4.3(可选)创建一个文本查看器
4.11.1 练习1:实现基本的文本查看器
4.11.2 练习2:添加字体支持
4.12 示例应用程序
4.13 自测题
第5章 使用控件
5.1 Windows通用控件
5.1.1 Windows通用控件的MFC类
5.1.2 创建Windows通用控件
5.1.3 设置Windows通用控件的属性
5.1.4 处理Windows通用控件的通知消息
5.2 Internet Explorer 4.0通用控件
5.2.1 Internet Explorer 4.0通用控件的MFC类
5.2.2 创建Internet Explorer 4.0控件
5.2.3 设置Internet Explorer 4.0控件的属性
5.2.4 处理来自Internet Explorer 4.0通用控件的通知消息
5.3 ActiveX控件
5.3.1 ActiveX控件同自定义控件的比较
5.3.2 使用自动化技术
5.3.3 ActiveX控件容器
5.3.4 ActiveX控件和控件容器的通信
5.3.5 实现ActiveX控件容器
5.3.6 在基于MFC的应用程序中使用ActiveX控件
5.3.7 在Internet上使用ActiveX控件
5.4 MFC库所提供的控件类
5.4.1 向应用程序中添加位图按钮
5.4.2 处理MFC所附控件的通知消息
5.5 实验5.1 动态地创建控件
5.5.1 练习1:动态创建位图按钮控件
5.6 实验5.2 添加进度控件
5.6.1 练习1:创建一个进度控件
5.6.2 练习2:实现进度控件
5.7 实验5.3使用日历控件
5.7.1 练习:使用日历控件
5.8 示例应用程序
5.9 自测题
第6章 创建ActiveX控件
6.1 ActiveX控件概述
6.1.1 ActiveX控件的优点
6.1.2 使用MFC ActiveX ControlWizard
6.1.3 注册ActiveX控件
6.1.4 绘制ActiveX控件
6.2 ActiveX控件属性
6.2.1 常规属性
6.2.2 自定义属性
6.2.3 使用Get/Set方法实现控件属性
6.2.4 参数化属性
6.2.5 访问环境属性
6.3 ActiveX控件方法
6.3.1 添加常规方法
6.3.2 添加自定义方法
6.4 ActiveX控件事件
6.4.1 添加常规事件
6.4.2 添加自定义事件
6.5 实现ActiveX控件属性页
6.5.1 ActiveX控件属性页简介
6.5.2 实现默认的属性页
6.5.3 在控件和属性页之间交换数据
6.5.4 添加常规属性页
6.5.5 添加自定义属性页
6.6 创建列举的属性
6.6.1 列举的属性如何工作
6.6.2 实现列举的属性
6.7 实验6 使用现有的类创建ActiveX控件
6.7.1 练习1:创建ActiveX控件
6.7.2 练习2:设置ActiveX控件的属性
6.7.3 练习3:添加属性表界面
6.8 ActiveX控件中的数据绑定
6.8.1 数据绑定概述
6.8.2 数据绑定如何工作
6.8.3 创建可绑定属性
6.9 优化ActiveX控件
6.9.1 ActiveX控件的高级功能
6.9.2 优化绘制代码
6.9.3 无窗口激活
6.10 在ActiveX应用程序中调试和处理错误
6.10.1 在ActiveX控件中传达错误
6.10.2 调试ActiveX应用程序
6.11 应用程序示例
6.12 自测题
第7章 使用OLE DB模板进行数据访问
7.1 OLE DB概述
7.1.1 OLE DB的益处
7.1.2 OLE DB应用程序的类型
7.1.3 OLE DB组件
7.2 OLE DB模板简介
7.2.1 OLE DB提供者模板
7.2.2 OLE DB使用者模板
7.3 使用CAccessor创建使用者应用程序
7.3.1 使用MFC AppWizard创建基础应用程序
7.3.2 MFC AppWizard对CAccessor的实现
7.3.3 COleDBRecordView类
7.3.4 执行数据库操作
7.4 实验7.1使用CAccessor
7.4.1 练习1:执行数据库操作
7.5 使用CDynamicAccessor创建使用者应用程序
7.6 实验7.2 使用CDynamicAccessor
7.6.1 练习1:从数据源中检索数据
7.7 使用CManualAccessor创建使用者应用程序
7.8 示例应用程序
7.9 自测题
第8章 创建ADO数据库应用程序
8.1 ADO简介
8.1.1 使用ADO的益处
8.1.2 ADO对象模型
8.1.3 在基于MFC的应用程序中使用ADO
8.2 使用数据控件
8.2.1 ADO数据控件
8.2.2 数据绑定控件
8.2.3 使用数据控件实现ADO
8.3 使用数据绑定对话框
8.3.1 使用向导构建应用程序
8.3.2 数据绑定对话框的默认实现
8.3.3 不使用向导构建应用程序
8.3.4 添加记录
8.3.5 编辑记录
8.3.6 删除记录
8.4 执行查询
8.4.1 执行简单查询
8.4.2 使用筛选器
8.4.3 搜索记录
8.5 实验8.1 使用数据绑定对话框
8.5.1 练习1:在数据库表中添加、删除更新和记录
8.5.2 练习2:筛选记录
8.6 示例应用程序
8.7 自测题
第9章 生成Internet应用程序
9.1 Internet的基本概念
9.1.1 Internet的框架
9.1.2 Internet应用程序的类型
9.1.3 MFC对Internet应用程序的支持
9.2 使用Internet Explorer对象
9.2.1 属性与方法
9.2.2 控制Internet Explorer
9.2.3 使用Automation
9.3 使用Web Browser控件
9.3.1 属性、方法和事件
9.3.2 添加Web Bser控件
9.3.3 创建Web Bser控件
9.3.4 实现Web Bser控件
9.3.5 实现HTML视图
9.4 使用WinInet类
9.4.1 连接到Internet
9.4.2 编写HTTP应用程序
9.4.3 编写FTP应用程序
9.4.4 编写Gopher应用程序
9.5 使用WinSock类
9.5.1 套接字简介
9.5.2 为套接字通信使用TCP/IP
9.5.3 WinSock API
9.5.4 MFC对WinSock的支持
9.6 实验9.1 使用Web Browser控件
9.6.1 练习1:使用Web Browser控件
9.6.2 练习2:处理Web Browser控件事件
9.7 实验9.2 使用HTTP WinInet类
9.7.1 练习1:创建HTTP应用程序
9.8 实验9.3 添加HTML视图
9.8.1 练习1:添加HTML试图
9.9 示例应用程序
9.10 自测题
第10章 打印和打印预览
10.1 添加默认打印机支持
10.1.1 打印过程简介
10.1.2 启用默认打印机支持
10.1.3 MFC的打印支持
10.1.4 屏幕显示与打印
10.2 增强打印机支持
10.2.1 确定打印机特性
10.2.2 检索当前打印作业信息
10.2.3 检索打印机设备描述表信息
10.2.4 覆盖CView派生函数
10.3 实验10.1向TextView中添加打印和打印预览
10.3.1 练习10.1:向文本查看器中添加打印功能
10.4 示例应用程序
10.5 自测题
附录A:自测题答案
附录B:词汇表