1.1 Windows编程基础 1
1.1.1 基于消息的操作系统 1
1.1.2 Windows的图形设备接口 1
第一章 Microsoft Windows 95/NT和Visual C+++ 1
1.1.3 全新的32位内存管理 2
1.1.4 动态链接库(DLL) 2
1.2 Visual C+++6.0概述 2
1.2.1 Visual C+++6.0的软硬件配置 2
1.2.2 Microsoft基本类库应用框架 3
1.2.3 App Studio资源编辑器 3
第二章 Visual C+++集成开发环境 5
2.1 Visual C+++6.0的主窗口 5
2.2 Visual C+++6.0的工具栏 6
2.3 Visual C+++的菜单栏 7
2.3.2 Edit菜单 11
2.3.3 View菜单 17
2.3.4 Project菜单 18
2.3.5 Build菜单 20
2.3.6 Tools菜单 22
第三章 创建第一个Windows应用程序 26
3.1 用MFC AppWizard生成应用程序MyApp 26
3.2 CWinApp类和文档模板 32
3.3 窗口类和窗口对象 40
3.3.1 CWnd及其派生类 40
3.3.4 窗口对象 41
3.3.3 窗口的客户区与非客户区 41
3.3.5 窗口的注册和创建 41
3.3.2 窗口风格 41
3.3.6 销毁窗口 42
3.3.7 MyApp应用程序的边框窗口代码 42
3.4 MyAppView视类 46
3.5.2 Windows设备环境 47
3.5.1 OnDraw()成员函数 47
3.5.3 往MyApp应用中加入绘图代码 47
3.5 在视窗内绘图 47
3.5.4 视类代码清单 50
4.1 消息分类 54
4.1.1 标准Windows消息 54
第四章 消息和命令 54
4.1.2 控件通知(Control Notification) 55
4.1.3 命令消息(WM_COMMAND) 56
4.2 消息的处理——用ClassWizard添加消息映射 56
4.3 MyRectangle应用的说明 60
4.3.1 m_Rect数据成员 60
4.3.2 CPoint和CRect之间的运算 60
4.3.3 设备坐标系和客户坐标系 60
4.3.4 使矩形无效 61
4.3.5 进一步熟悉消息映射 62
4.3.6 MyRectangle应用源程序清单 63
2.3.1 File菜单 72
4.4 发送和接收命令消息 78
4.4.1 命令消息的传递路线 78
4.4.3 更新命令用户接口消息 79
4.4.2 加入消息映射入口 79
第五章 Windows的图形处理 81
5.1 图形设备接口 81
5.1.1 设备环境类 81
5.1.2 GDI对象 85
5.1.3 映射方式 91
5.1.4 坐标变换 93
5.2 位图和位操作 94
5.2.1 设备相关和设备无关位图 95
5.2.2 位图文件结构 95
5.2.3 从资源中装入位图 96
5.2.4 读取DIB图像数据 99
第六章 对话框程序设计 106
6.1 对话框 106
6.1.1 对话框的组成 106
6.1.2 CDialog类 106
6.1.3 有模式和无模式对话框 110
6.1.4 创建对话框资源 110
6.1.5 通用对话框类 115
6.2 控件 118
6.2.1 标准Windows控件 118
6.2.3 对话框控件的访问 124
6.2.2 往对话框中添加控件 124
6.3 有模式对话框 126
6.3.1 有模式对话框的程序设计 127
6.3.2 一个实际的有模式对话框的创建——MyModelDlg例程 127
6.3.3 对话框成员变量和控件的数据交换 133
6.3.4 CMyModelDlg应用的源程序清单 137
6.4 无模式对话框 152
6.4.1 无模式对话框的创建和销毁 152
6.4.2 CFormView类 153
6.4.3 一个实际的无模式对话框的例子——MyModelessDlg例程 155
6.4.4 测试MyModelessDlg应用及完整的源程序 162
7.1 文档的序列化 184
7.1.1 CFile和CArchive类 184
7.1.2 使类可序列化 184
7.1.3 添加文档中的数据成员 184
第七章 文档界面窗口 184
7.1.4 编写序列化代码 185
7.2 文档—视结构 187
7.2.1 在MFC应用中各对象之间的关系 187
7.2.2 文档和视的相互做用 187
7.3.1 切分窗口和多视处理 190
7.3 单文档应用(SDI) 190
7.3.2 一个实际的SDI应用 194
7.3.3 测试MyCircles应用和应用程序源代码 201
第八章 多文档接口程序设计 226
8.1 MDI应用 226
8.1.1 文档模板类 226
8.1.2 CMDIFrameWnd类 226
8.1.3 修改窗口风格 229
8.1.4 CMDIChildWnd类 230
8.2.1 滚动处理函数 232
8.2 滚动处理 232
8.2.2 滚动消息响应函数 233
8.3 管理Windows菜单和加速键 234
8.3.1 键盘加速键 234
8.3.2 CMenu类 236
8.4 一个实际的MDI应用 238
8.4.1 MDIApp应用创建的简单过程 238
8.4.2 MDIApp应用的源代码 242
9.1 普通DLL的编程与使用 251
9.1.1 DLL与应用的连接 251
第九章 动态链接库 251
9.1.2 从DLL导出函数 252
9.1.3 利用MFC AppWizard创建普通DLL 253
9.1.4 测试MyDll应用及源代码清单 258
9.2 MFC扩展DLL编程 267
9.2.1 MFC扩展DLL的内存使用 267
9.2.2 编写MFC扩展DLL所需要的一些代码 268
9.2.3 扩展DLL的引出 269
9.2.4 一个实际的MFC扩展DLL 270
9.2.5 测试ExtensionDll应用 274
9.2.6 ExtensionDll应用的完整源代码 278
10.1.1 ActiveX文档 288
10.1 什么是ActiveX 288
第十章 ActiveX编程简介 288
10.1.2 ActiveX控件 289
10.1.3 ActiveX控件容器 314
10.1.4 ActiveX自动化服务器 314
10.1.5 COM对象 315
10.2 生成一个ActiveX控件 315
10.2.1 生成ActiveX控件基本框架 315
10.2.2 为MyActiveX控件增加属性 317
10.2.3 ActiveX事件处理 322
10.2.4 控件的属性页处理 324
10.2.5 MyActiveX项目的完整源代码 325
10.3 OLE容器的设计 346
10.3.1 生成MyContainer应用程序框架 346
10.3.2 查看MyContainer代码 350
附录A C+++语言速成 361
A.1 C+++语言基本概念 361
A.1.1 类定义 361
A.1.2 对象 362
A.1.3 构造函数和析构函数 363
A.1.4 成员函数的实现 364
A.1.5 内联成员函数 365
A.1.7 静态类成员 366
A.1.6 this指针 366
A.1.8 友元函数 367
A.1.9 指针和引用 368
A.2 类继承 369
A.2.1 派生类与基类 369
A.2.2 父类有构造函数的继承 370
A.2.3 多重继承 372
A.3 多态性 374
A.3.1 函数重载 374
A.3.2 重载运算符 375
A.3.3 虚函数 376
附录B MFC类的概述 380
B.1 CObject类 380
B.2 CFile类 382
B.3 Exception类 385
B.4 图形绘制类 386
B.5 集合类 396
B.5.1 数组类 397
B.5.2 列表类 398
B.5.3 映射类 401
B.6 窗口类 403