第0章 写在前面
0-1 本书特点
0-2 本书导读
0-3 本书范例操作说明
第一篇 视窗程序设计基础
第1章 简介视窗程序设计
1-1 视窗程序设计的基本观念
1-1-1 事件、信息与视窗运作
1-1-2 视窗的基本构造
1-1-3 资源的观念
1-2 如何撰写视窗程序
1-2-1 什么是Application Frameworks
1-2-2 AF与对象导向
1-3 强大的整合程序开发环境——Visual C++
1-3-1 什么是整合程序开发环境
1-3-2 Visual C++的画面介绍
1-3-3 MFC的类别继承阶层
第2章 Hello MFC!——视窗程序设计的初体验
2-1 建立视窗程序的基本观念
2-2 你的第一个视窗程序——Hello MFC
2-2-1 建立你的Hello MFC
2-2-2 CWinApp类别与程序进入点
2-2-3 视窗框架对象
第3章 Visual C++的操作(一)——工程建立与程序编译/除错
3-1 工程的介绍
3-1-1 工程文件的介绍
3-1-2 工程的开启、关闭、储存
3-1-3 工程中文件的操作
3-2 编译程序
3-3 虫虫危机——程序的除错
3-3-1 程序的除错
3-3-2 暂停程序的执行
3-3-3 变量值的观察
3-4 如何利用Help
第4章 自定义视窗框架与资源文件的应用
4-1 自定义视窗框架对象
4-2 MyFrame程序范例
4-3 自定义视窗框架类别与资源文件
4-3-1 视窗框架对象的建立时机
4-3-2 自定义视窗框架与资源文件的建立
4-3-3 在视窗框架中建立菜单
第5章 视窗的信息处理
5-1 视窗信息的传递与处理
5-2 Message程序范例
5-3 信息映射表与响应函数的建立
5-4 利用鼠标绘图
5-5 信息框的使用与视窗的破坏
第6章 视窗应用程序架构
6-1 什么是DOC/View架构
6-2 以Document/View为架构的视窗应用程序
6-2-1 Doc_View程序范例
6-2-2 Doc/VieW的架构与建立步骤
6-2-3 单文件样版类别的应用
6-2-4 CView类别与CDocument类别的使用
6-3 Doc/View架构的应用
6-3-1 视窗的重绘
6-3-2 repaint程序范例
6-3-3 Doc/View的运作机制
6-3-4 视窗的重绘
第二篇 程序资源的建立与基本绘图原理
第7章 Visual C++的操作(二)——资源编辑器的使用
7-1 资源编辑器的基本操作
7-2 菜单
7-3 图标、点阵图、光标
7-4 工具栏
7-5 对话框
7-6 字符串表
7-7 识别字的管理
7-8 快捷键
第8章 菜单的建立
8-1 简介菜单
8-2 menu程序范例
8-3 菜单的建立与设定
8-4 菜单的切换
8-5 利用CMenu类别控制菜单
8-6 修改系统菜单与建立弹出式菜单
第9章 UPDATE_COMMAND_UI信息
9-1 什么是UPDATE_COMMAND_UI信息
9-2 COMMAND_UI程序范例
9-3 UPDATE_COMMAND_UI信息的接收与响应
9-4 UI组件的修改
第10章 快捷键、工具栏、状态栏与字符串表
10-1 快捷键的建立
10-1-1 accelerators程序范例
10-1-2 载入快捷键表
10-2 工具栏、状态栏与字符串表的使用
10-2-1 简介工具栏、状态栏与字符串表
10-2-2 controlbar程序范例
10-2-3 工具栏的建立
10-2-4 状态栏的建立
第11章 图标、点阵图与光标资源
11-1 简介图标、点阵图与光标资源
11-2 图标、点阵图与光标资源的使用
11-2-1 resource程序范例
11-2-2 图标资源的使用
11-2-3 点阵图资源的使用
11-2-4 光标资源的使用
11-3 建立Painter的视窗界面
11-3-1 简介Painter的视窗界面
11-3-2 painter1程序范例
11-3-3 painter1的程序架构
11-3-4 painter1的自定义类别说明
11-3-5 控制工具栏的隐藏与显示
第12章 基本绘图原理
12-1 视窗的基本绘图原理
12-1-1 绘图装置界面(Graphics Device Interface)
12-1-2 装置驱动(Device Context)
12-1-3 颜色的定义
12-1-4 MFC的GDI类别
12-1-5 建立画笔对象
12-1-6 建立画刷对象
12-2 CDC类别的介绍
12-2-1 CDC类别的衍生类别
12-2-2 CDC类别提供的形状绘制函数
12-3 画笔、画刷与绘图模式的控制
12-3-1 画笔与画刷的选取
12-3-2 绘图模式的控制
12-4 建立Painter的绘图功能
12-4-1 Painter2的绘图功能
12-4-2 Painter2程序范例
12-4-3 Painter2的程序架构
12-4-4 Painter2的自定义类别说明
12-4-5 MyView类别所处理的信息
12-4-6 Shape::draw的玄机——动态连接的应用
第13章 图形对象的记录与重绘
13-1 记录图形对象与视窗重绘的机制
13-2 Painter3程序范例
13-3 视窗重绘的机制
13-4 Painter3的自定义类别
13-5 形状对象的重绘机制
第三篇 深入应用程序架构
第14章 文件操作机制的建立
14-1 MFC的文件储存机制
14-2 Painter4程序范例
14-3 Painter4的自定义类别
14-4 建立储存资料的Serialize机制
14-5 建立文件操作功能
第15章 滚动条视窗与部分视窗重绘
15-1 具有滚动条的视窗
15-2 Scrollview程序范例
15-3 可滚动范围的设定
15-4 客户区与文件间的坐标转换
15-5 重绘部分视窗
第16章 分裂视窗
16-1 多视窗程序的建立
16-2 动态分裂视窗的建立
16-2-1 如何动态分裂视窗
16-2-2 DynaSplit程序范例
16-2-3 建立动态分裂视窗
16-2-4 子视窗的同步更新
16-3 静态分裂视窗的建立
16-3-1 如何建立静态分裂视窗
16-3-2 StaticSplit程序范例
16-3-3 静态分裂视窗的建立
16-3-4 建立查看整体画布的GlobalView类别
16-3-5 子视窗的更新机制
第17章 多文件视窗程序的建立
17-1 如何建立MDI视窗程序
17-2 MDI程序范例
17-3 MDI视窗程序使用的资源
17-4 MDI视窗程序的Initinstance函数
17-5 CMDIFrame类别已完成的程序机制
17-6 主\子视窗框架对象的取得
第18章 文字编辑器的建立
18-1 Editor程序范例
18-2 多种文件编辑器
18-3 建立文字编辑器
18-3-1 View类别的建立
18-3-2 Document类别的建立
第19章 打印与预览
19-1 MFC的打印、预览打印机制
19-2 Print程序范例
19-3 建立打印机制需要载入的资源
19-4 坐标系统的转换
19-5 图与文本文件的打印与预览打印
19-5-1 图的打印与预览打印
19-5-2 文本文件的打印与预览打印
第20章 Visual C++的操作(三)——程序快速开发工具的应用
20-1 辅助程序开发的聪明工具
20-2 AppWizard的介绍
20-2-1 AppWizard的使用说明
20-2-2 AppWizard所产生文件的说明
20-3 ClassWizard的使用
20-3-1 简介ClassWizard
20-3-2 Message Maps标签
20-3-3 ClassWizard之Message标签的操作示范
20-4 WizardBar的简介
20-5 用Visual C++工具建立程序
20-5-1 Visual C++工具的综合应用
20-5-2 利用WizardBar新增类别
20-5-3 利用WizardBar新增函数
20-5-4 利用ClassWizard新增信息响应函数
第四篇 对话框、对话框应用程序与各种控制项
第21章 Modal对话框的建立
21-1 简介对话框
21-1-1 对话框的种类与功能
21-1-2 对话框组成
21-1-3 对话框资源与对话框对象
21-2 Painter5程序范例
21-3 Painter5的自定义类别
21-4 Painter5的架构
21-5 SWidthDlg对话框类别
21-6 Modal对话框对象的建立
第22章 对话框的资料交换与检查机制
22-1 DDX与DDV机制
22-2 Painter6程序范例
22-3 DDX与DDV机制的建立
22-4 资料交换与检查机制
22-5 DDX与DDV函数的说明
第23章 MODELESS对话框
23-1 Modeless对话框的建立
23-2 Painter7程序范例
23-3 Painter7的自定义类别
23-4 Modeless对话框的建立
23-5 资料交换机制
23-6 其他更改的部分
第24章 Visual C++的操作(四)——对话框类别的建立
24-1 快速建立对话框类别
24-1-1 ClassWizard建立对话框类别的机制
24-1-2 建立对话框类别
24-1-3 建立资料交换与检查机制
24-1-4 其他相关资源的建立
24-2 快速建立对话框应用程序
第25章 对话框应用程序与控制项的使用
25-1 对话框应用程序的使用
25-2 Button与Static Text
25-2-1 简介Button与Static Text控制项
25-2-2 小计算器程序范例
25-2-3 OnCommand信息的响应
25-2-4 OnClear函数
25-3 Picture
25-3-1 Timer(小时钟)程序范例
25-3-2 WM_TIMER信息的使用
25-3-3 系统时间的取得与CTime对象的使用
25-4 List Box、Combo Box与多页对话框的建立
25-4-1 简介List Box、Combo Box与多页对话框
25-4-2 ListProperty程序范例
25-4-3 多页对话框的建立
25-4-4 List Box的操作
25-4-5 Combo Box的操作
25-5 Scroll Bar、Slider、Spin、Edit Box与Check Box
25-5-1 简介滚动类控制项
25-5-2 简介Edit Box与Check Box
25-5-3 SldCtrl程序范例
25-5-4 各控制项间的关系
25-5-5 初始状态的设定
25-5-6 WM_HSCROLL与WM_VSCROLL信息
25-5-7 Slider与Scroll Bar的滚动
25-5-8 Edit BOX的EN_CHANGE信息
25-5-9 Check Box的BN_CLICKED信息
25-6 Tree Control、List Control与Radio Box
25-6-1 简介Tree Control、List Control与Radio Box
25-6-2 DirView程序范例
25-6-3 文件信息的取得
25-6-4 Image List对象的建立
25-6-5 Tree Control的建立
25-6-6 List Control的建立
25-6-7 Radio Box的使用
第26章 文件对话框与颜色对话框的应用
26-1 文件对话框的应用
26-1-1 文件对话框的类型与应用
26-1-2 FDialog程序范例
26-1-3 文件对话框的建立与使用
26-2 颜色对话框的应用
26-2-1 利用颜色对话框设定颜色
26-2-2 CDialog程序范例
26-2-3 颜色对话框的建立与使用
附录 本书所使用MFC函数索引