第一章 Windows 编程概述 1
1.1 Windows 编程概述 1
1.1.1 Windows 简介 1
1.1.2 Windows 应用程序设计的特点 2
1.1.3 面向对象和 Windows 编程 10
第二章 Visual C++6.0简介 14
2.1 Visual C++ 简介 14
2.2 Visual C++的开发环境 15
2.2.1 工作平台 15
2.2.2 工具栏 16
2.2.3 菜单栏 17
2.2.4 项目工作区 37
2.2.5 资源 39
2.3 Visual C++的工程(Projects) 55
2.4 用 Visual C++编一个简单程序 56
第三章 MFC 简介 59
3.1 MFC 类库的划分 59
3.2 根类 61
3.3 应用程序体系结构 61
3.4 可视对象类 63
3.5 通用类 66
3.6 OLE 类 69
3.7 数据库类 72
3.8 Internet 类 73
3.9 宏和全局函数 75
第四章 使用菜单和加速键 76
4.1 应用程序的菜单和键盘加速键 76
4.1.1 Windows 的菜单 76
4.1.2 键盘加速键 77
4.1.3 命令(Command)处理 78
4.1.4 编写自己的菜单 80
4.2.1 框架窗口如何管理菜单 86
4.2 菜单的管理 86
4.2.2 菜单的容许和禁止 87
4.2.3 编写动态菜单 87
4.2.4 例程 Ex04b 的过程分析和执行结果 97
4.3 菜单的操作 98
4.3.1 CMenu 类 98
4.3.2 菜单类中的各种操作 99
第五章 工具条和状态条 102
5.1 工具条设计及控制 102
5.1.1 控制条和应用框架 102
5.1.2 工具条 103
5.1.3 工具条命令消息 104
5.1.4 Ex05a 例程——添加自己的工具条按钮 105
5.2 状态条设计和控制 110
5.2.1 状态条 110
5.2.2 状态条控制 111
5.2.3 Ex05b 例程——用户设计的状态条 112
第六章 使用鼠标和键盘 119
6.1 鼠标消息 119
6.1.1 鼠标消息的处理 119
6.1.2 Ex06a 例程——用鼠标画一个圆 119
6.2.1 键盘消息的处理 124
6.2 键盘消息 124
6.2.2 Ex06b 例程——用键盘来滚动窗口 125
第七章 对话框与控件 130
7.1 对话框 130
7.1.1 什么是对话框 130
7.1.2 使用对话框输入 131
7.1.3 在 Visual C++中创建对话框 131
7.1.4 创建基于对话框的项目 138
7.2 按钮控件 139
7.2.1 什么是按钮 139
7.2.2 为按钮设置成员变量 143
7.2.3 用条件语句调控程序 144
7.2.4 启用或禁用按钮 145
7.2.5 隐藏按钮 146
7.2.6 定义或设定 Tab 键切换顺序 146
7.3 编辑控件 147
7.3.1 理解编辑控件 147
7.3.2 编辑控件的属性 149
7.3.3 将 CEdit 对象与编辑控件相关联 150
7.3.4 接收从编辑控件中输入的文本 150
7.3.5 用 DDV 和 DDX 例行程序给对话框传递参数 151
7.4.1 什么是列表框 153
7.4 列表框和组合框 153
7.4.2 给对话框加入列表框 154
7.4.3 什么是组合框 157
7.4.4 使用循环 160
7.5 旋转、进度条、滑块控件 161
7.5.1 标准控件 161
7.5.2 旋钮控件 162
7.5.3 使用滑块控件 164
7.5.4 使用进度控件 165
7.6 位图和图像列表 167
7.6.1 什么是位图 167
7.6.2 什么是一个图像列表 168
7.6.3 使用图像列表 169
第八章 文档/视图结构的应用程序 172
8.1 文档/视图概述 172
8.1.1 Visual C++对文档与视图的支持 172
8.1.2 指针变量与引用型变量 174
8.1.3 探索文档与视图接口 178
8.2 列表视图控件 178
8.2.1 什么是列表视图控件 179
8.2.2 列表视图控件的属性 179
8.2.3 使用一个列表视图控件 180
8.3.1 什么是树形视图控件 185
8.3 树形视图 185
8.3.2 支持 MFC 的树形视图控件 186
8.3.3 用树形视图控件作为一个视图 186
8.3.4 把树形视图控件加到对话框中 188
8.3.5 从树形视图中删除条目 190
8.3.6 执行内置的标注编辑 191
8.4 表单视图 191
8.4.1 什么是表单视图 192
8.4.2 使用表单视图 192
8.5 画笔和画刷 195
8.5.1 什么是画笔 195
8.5.2 用画笔绘画 198
8.5.3 什么是画刷 199
8.6 字体 203
8.6.1 什么是字体 203
8.6.2 指定字体属性 204
8.6.3 用 MFC 来创建字体的例子 208
8.6.4 选择并配置正确的字体 208
8.6.5 编辑字体 209
8.7 图标 210
8.7.1 什么是图标 210
8.7.2 图标的类型 210
8.7.3 创建一个图标 211
8.8 光标 213
8.8.1 什么是光标 213
8.8.2 在 Windows 程序中使用光标 213
第九章 多媒体应用程序的开发 216
9.1 多媒体开发 216
9.1.1 数据格式 216
9.1.2 播放函数 217
9.1.3 声音服务 217
9.1.4 控制接口 218
9.1.5 声音压缩管理器 219
9.1.7 视频压缩管理器 220
9.1.6 AVIFile 函数 220
9.1.8 视频捕获 221
9.1.9 一个简单例子 221
第十章 数据库应用 223
10.1 数据库管理和序列化 223
10.1.1 MFC 的 DAO 和 ODBC 224
10.1.2 DAO 和 ODBC 访问的数据 225
10.1.3 ODBC 驱动程序列表 225
10.1.4 何时使用 DAO 或 ODBC 226
10.2.1 MFC 的 ODBC 227
10.2 Microsoft ODBC 的数据库管理 227
10.2.2 ODBC 类库 230
10.2.3 例程 Ex10a——ODBC 数据库直接调用 232
10.3 DAO 数据库管理 248
10.3.1 MFC 的 DAO 249
10.3.2 例程 Ex10b——DAO 数据库应用 250
第十一章 Internet 网络应用 276
11.1 WinInet 类 276
11.1.1 WinInet(HTTP、FTP、Gopher) 277
11.1.2 创建一个国际互联网客户端应用的过程 278
11.1.3 实现典型的 WinInet 任务的步骤 284
11.1.4 国际互联网应用的第一步:WinInet 286
11.1.5 例程 Ex11a——创建一个 FTP 客户端应用 289
11.2.1 Windows Socket 2简介 309
11.2 Windows Socket 编程简介 309
11.2.2 MFC 类库的 Windows Socket 310
11.2.3 Windows Socket 如何与归档文件工作 311
11.2.4 套接口通信流操作方式 312
第十二章 ActiveX 控件 315
12.1 ActiveX/OLE 控件 315
12.1.1 什么是 ActiveX/OLE 控件 316
12.1.2 OLE 控件接口 316
12.1.3 ActiveX 控件 317
12.2.1 例程 Ex12a——创建一个基本控件 318
12.2 创建用户的 ActiveX 控件 318
12.2.2 例程 Ex12a 的控制执行代码 319
12.3 添加 ActiveX 控件的属性 325
12.3.1 添加库存属性 326
12.3.2 添加用户定制属性 328
12.3.3 例程 Ex12b——添加控件属性 329
12.4 添加 ActiveX 控件的事件和方法 338
12.4.1 ActiveX 事件 338
12.4.2 ActiveX 方法 341
12.4.3 例程 Ex12c——添加事件及方法 344
12.4.4 测试用户的 ActiveX 控件 352