第1章 Windows应用程序概述 1
1.1 Windows应用程序基本概念 1
1.1.1 Windows应用程序界面 1
1.1.2 Windows应用程序与API函数 2
1.1.3 Windows应用程序的句柄 2
1.1.4 Windows应用程序的数据类型 2
1.2 Windows程序设计平台开发环境 3
1.2.1 Visual C++简介 3
1.2.2 创建Win32 Console应用程序 3
1.2.3 创建Win32应用程序 5
1.2.4 创建MFC Windows应用程序 6
1.3 消息映射 11
1.3.1 事件与消息 11
1.3.2 消息映射 12
1.3.3 消息处理 12
1.4 消息处理实例 13
1.4.1 鼠标消息处理的实例 13
1.4.2 键盘消息处理的实例 15
习题1 17
实验1 高级Windows应用程序开发基础 18
第2章 Windows图形绘制 20
2.1 设备描述环境和图形设备接口 20
2.1.1 设备描述环境 20
2.1.2 图形设备接口 20
2.2 CDC类 21
2.3 CPen类 24
2.4 CBrush类 26
2.5 文本和字体信息 27
2.5.1 文本 27
2.5.2 获取字体的信息 29
2.6 CDC类的其他派生类 30
2.6.1 窗口用户区设备描述环境CClientDC类 30
2.6.2 图元文件设备描述环境CMetaFileDC类 31
习题2 33
实验2 图形绘制 34
第3章 通用数据类 36
3.1 简单数据类 36
3.1.1 点类CPoint 36
3.1.2 矩形类CRect 38
3.1.3 尺寸类CSize 39
3.1.4 字符串类CString 40
3.2 群体数据类 41
3.2.1 数组类CArray 41
3.2.2 链表类CList 44
3.3 文档类与视图类之间的数据传递 45
习题3 49
实验3 数据类 50
第4章 窗口界面的设计 55
4.1 单文档界面 55
4.2 多文档界面 55
4.3 单文档界面窗口样式 56
4.3.1 在MFC AppWizard中确定窗口样式 57
4.3.2 在函数PreCreateWindow中修改窗口的样式 58
4.3.3 可拆分窗口的单文档界面 61
4.4 窗口的同步更新 62
4.4.1 可拆分窗口的同步更新 62
4.4.2 提高同步更新的效率 65
4.5 创建有滚动条的窗口 68
习题4 71
实验4界面设计 72
第5章 鼠标和键盘消息 73
5.1 鼠标消息 73
5.1.1 用户区鼠标消息 74
5.1.2 非用户区鼠标消息 77
5.1.3 捕获鼠标消息 78
5.2 键盘消息 80
5.2.1 虚拟码 80
5.2.2 按键消息 82
5.3 窗口的焦点 84
习题5 86
实验5 鼠标和键盘 87
第6章 资源 88
6.1 资源概述 88
6.1.1 资源的含义 88
6.1.2 资源头文件 88
6.1.3 资源描述文件 90
6.2 菜单资源 90
6.2.1 菜单资源的定义 91
6.2.2 编辑菜单 92
6.2.3 自定义菜单 94
6.2.4 菜单编辑器 98
6.3 快捷键表 100
6.3.1 快捷键表资源定义 100
6.3.2 快捷键编辑器 100
6.4 图标 102
6.4.1 图标编辑器 102
6.4.2 图标资源定义 103
6.5 位图 104
6.5.1 位图资源定义 104
6.5.2 使用位图 105
习题6 108
实验6 资源 109
第7章 控件 112
7.1 标准控件 112
7.1.1 控件的含义 112
7.1.2 标准控件 112
7.1.3 静态文本控件 113
7.1.4 按钮控件 113
7.1.5 编辑控件 116
7.2 控件的背景颜色 118
习题7 120
第8章 对话框 122
8.1 对话框模板 122
8.1.1 资源描述文件对话框模板脚本 122
8.1.2 对话框编辑器设计对话框 124
8.2 对话框类 124
8.2.1 对话框类的定义 124
8.2.2 对话框的类型 126
8.3 对话框的数据交换 129
8.3.1 数据交换函数DDX 130
8.3.2 进行数据交换函数DoDataExchange 130
8.3.3 更新数据函数DoDataExchange 130
8.3.4 为对话框控件添加成员变量 131
8.3.5 数据检验 133
8.4 基于对话框的应用程序 134
8.4.1 对话框应用程序框架的设计 134
8.4.2 对话框应用程序的消息响应函数 134
8.4.3 属性页 137
习题8 140
实验7 对话框 141
第9章 动态链接库 144
9.1 链接库 144
9.1.1 静态链接库 144
9.1.2 动态链接库 144
9.2 静态链接库的创建 144
9.3 动态链接库的创建 147
9.3.1 导出函数的声明 147
9.3.2 MFC动态链接库的创建 151
9.4 动态链接库的应用 154
9.4.1 隐式链接 154
9.4.2 显式链接 154
习题9 156
实验8 动态链接库 157
第10章 数据库编程 158
10.1 数据库概述 158
10.1.1 数据模型 158
10.1.2 数据库和数据表的创建 159
10.2 MFC ODBC操作 161
10.2.1 MFC ODBC向导过程 161
10.2.2 ODBC数据表绑定更新 167
10.2.3 MFC的ODBC类 168
10.3 MFC ODBC常用编程 172
10.3.1 显示记录总数和当前记录号 172
10.3.2 编辑记录 173
10.3.3 多表处理 177
习题10 182
第11章 高级应用 184
11.1 多媒体 184
11.2 ActiveX控件 184
11.2.1 创建一个ActiveX控件程序 184
11.2.2 使用ActiveX控件 189
11.3 网络应用 190
11.3.1 MFC对网络的支持 190
11.3.2 Windows Sockets编程 190
11.3.3 WinInet应用 195
习题11 198
实验9 Windows高级应用 199
参考答案 206
参考文献 227