第一章 消息处理 1
第一节 消息映射机制 1
消息分类 1
消息映射 2
消息映射中的宏定义 3
第二节 键盘消息 3
键盘消息的分类 3
虚拟键代码 4
键盘消息的映射函数 6
键盘文本光标的编程控制 6
处理WM_HOTKEY消息 8
在框架和应用程序中处理键盘消息 9
第三节 鼠标消息 10
鼠标消息的分类 11
鼠标属性的设置 11
鼠标消息的处理 12
捕捉鼠标 14
限制鼠标的移动范围 14
第四节 其他的窗口消息 14
WM_CREATE消息 14
WM_CLOSE或WM_DESTROY消息 14
WM_PAINT消息 14
第五节 自定义消息 15
PostMessage或SendMessage函数 15
自定义窗口消息的处理例程 16
注册窗口消息 16
第六节 消息处理的深入话题 17
控件发送的通知消息 17
消息映象和控件代码的重用 18
范围消息的处理 20
交互对象更新消息的处理 21
命令的传递线路及其改变方法 22
第二章 框架窗口 24
第一节 框架窗口的创建 24
由MFC创建SDI和MDI窗口 24
用AfxRegisterWndClass定义和注册窗口 25
创建自定义窗口 26
第二节 窗口的风格 26
窗口的一般风格 27
窗口的扩展风格 27
重载PreCreatWindow函数改变窗口的缺省风格 28
ModifyStyle和ModifyStyleEx成员函数 29
设置TopMost窗口风格 29
用ShowWindow改变窗口的显示状态 30
第三节 窗口状态的设置及其持久性 30
用SetWindowPos或MoveWindow改变窗口的大小和位置 31
改变窗口标题、图标和背景颜色 32
用AfxRegisterClass重置窗口外观 33
跟踪窗口消息以改变窗口状态 35
窗口状态的保存和恢复 35
第四节 切分窗口 37
静态切分和动态切分 38
CSplitterWnd类及其成员函数 38
给窗口添加切分功能的常用方法 40
静态切分例程 42
锁定切分条 45
静态窗格的显示和隐藏 46
关于MDI窗口的切分操作 48
切分窗口的定制 48
设置MDI客户区背景 50
第五节 定制窗口 50
窗口的全屏显示 54
改变窗口形状 56
定制工具提示窗口 57
第三章 视图 63
第一节 视图的滚动及缩放 63
使用CScrollView类 63
滚动视图示例 64
缩放视图示例 65
鼠标自行滚动 68
接收键盘滚动 70
第二节 一般视图类的使用 71
基本视图类及其派生类 71
CFormView的使用 71
CListView和CTreeView的使用 73
第三节 使用CEditView和CRichEditView 74
CEditView类 74
CRichEditView类 74
第四节 使用CHtmlView 75
动态HTML 75
MFC中的HTML资源 76
CHtmlView成员函数 76
浏览HTML相关文档 78
第四章 文档 79
第一节 文档及其模板的创建 79
创建文档的次序 79
文档模板的创建 79
第二节 文档的一般操作 81
使用文档的一般步骤 81
CDocument类的常用操作 81
文档模板的字串资源 82
如何设定双击文档启动应用程序 83
第三节 MRU文件列表的控制 84
CRecentFileList类成员函数 84
MRU文件列表例程 85
MFC对MRU的缺省操作及命令行命令 86
第四节 将多个文档的同时打开 87
第五节 显示文档的内容 90
m_viewList变量 90
CEditView?SerializeRaw函数 90
文档的自动显示 91
文档显示字体的设置 91
第五章 文档和视的相互作用 93
第一节 文档/视结构 93
文档/视相互作用函数 93
替换MFC文档/视结构 95
数据操作及应用程序对象指针的互调 95
第二节 多种文档类型 96
多个框架窗口 96
改变MDI中文档子窗口的标题 97
如何避免在新建时出现文档类型选择对话框 97
第三节 多个视图 98
MFC的多视模式 98
SDI多视例程 98
MDI多视例程 104
第四节 视图的切换 115
使用CCreateContext类 115
切分窗口中视的切换 116
SDI中视的切换 117
MDI中视的切换 117
附录 标准命令IDs 118