第1章 面向对象程序设计的基本概念 1
1.1 导论 1
1.2 面向对象程序设计范型 2
1.2.1 程序设计范型 2
1.2.2 面向对象总是的求解 3
1.2.3 什么是面向对象程序设计范型 4
1.3 类、对象和封装 4
第2章 创建第一个Visual C+++应用程序 7
2.1 编制第一个Visual C+++应用程序 7
2.2 Visual C+++集成开发平台 11
第3章 应用框架及Windows消息机制 12
3.1 应用框架的概念 12
3.2 应用框架的例子 12
3.3 理解Windows消息机制 13
3.4 Windows消息循环 14
第4章 自定义对话框 28
4.1 模式对话框和无模式对话框 28
4.2 生成工程文件 29
4.3 设计对话框 29
4.3.1 对话框的布局 30
4.3.2 设置对话框及其控件的属性 31
4.4 设置跳表顺序 32
4.5 管理对话框 33
4.5.1 生成对话框类 33
4.5.2 定义成员变量 33
4.5.3 定义消息处理函数 36
4.6 编写类CFonts代码 38
4.6.1 定义头文件 38
4.6.3 选择复选框时的消息响应函数 39
4.6.2 实现函数OnInitDialog成员函数 39
4.6.4 选择单选框时的消息响应函数 40
4.6.5 处理编辑框控件的消息处理函数 42
4.6.6 重画对话框 42
4.7 显示对话框 44
4.7.1 编写用户化菜单 44
4.7.2 加入菜单消息处理函数 45
4.8 重画视图 47
第5章 文档和视 50
5.1 文档和视之间的相互作用函数 51
5.1.1 CView类的GetDocument函数 52
5.1.2 CView类的UpdateAllViews函数 52
5.2.1 简单的文档/视应用的创建步骤 53
5.2 简单的文档/视应用 53
5.1.4 CView类的OnInitialUpdate函数 53
5.1.3 CView类的OnUpdate函数 53
5.2.2 全面了解的SDI应用 54
5.2.3 一个简单的学籍管理程序 58
5.3 高级的文档-视之间的相互作用 66
5.3.1 应用的创建步骤 66
5.3.2 功能更强大的学生管理程序 67
第6章 图形设备接口 83
6.1 设备上下文 83
6.2 画图函数 86
6.3 文本和字体函数 87
6.4 应用实例 87
7.1.3 创建和打开文件 96
7.1.1 文件系统概述 96
7.1.2 Windows文件对象 96
7.1 文件管理 96
第7章 文件、持久性和序列化 96
7.1.4 异步文件I/O 99
7.2 序列化 101
7.2.1 序列化的概念 101
7.2.2 使类可序列化 101
7.2.3 内嵌对象和对象指针的序列化 103
7.2.4 使集合序列化 104
7.2.5 序列化函数和应用框架 104
7.3 GFile类 105
7.3.1 打开和关闭文件 105
7.3.2 文件的定位 105
7.3.3 文件的读写操作 106
7.3.4 文件的管理 106
7.4 文件对话框 107
第8章 进程、线程及同步与通讯 109
8.1 多任务环境 109
8.2 进程 110
8.3 线程 112
8.4 进程与线程的同步与通讯 114
8.4.1 同步概述 114
8.4.2 临界区 115
8.4.3 互斥量 118
8.4.4 信号量 120
8.4.5 事件 121
第9章 多媒体编程 125
9.1 声音 125
9.1.1 例子 125
9.1.2 播放声音的三个简单函数 127
9.1.3 MCI函数 129
9.2 图像 141
第10章 Visual C+++中的数据库访问 147
10.1 ODBC简介 147
10.1.1 ODBC层次结构 148
10.1.2 管理数据源 149
10.1.3 驱动程序的一致性 151
10.1.4 ODBC应用程序流程 152
10.2 ODBC API编程 152
10.2.1 初始化ODBC环境 152
10.2.2 连接数据源 153
10.2.3 检索驱动程序和数据源信息 155
10.2.4 执行SQL语句 157
10.2.5 ODBC函数执行结果处理 158
10.3 ODBC API编程实例 163
10.4.1 注册数据库 173
10.4 用MFC应用框架创建应用程序 173
10.4.2 创建基本的Student应用程序 174
10.4.3 创建控件以显示数据库表的内容 175
10.4.4 添加和删除记录 177
10.4.5 对一些函数的分析 180
第11章 动态链接库(DLL) 182
11.1 DLL的概念 182
11.2 创建DLL 183
11.2.1 建立动态链接库的工程文件 183
11.2.2 代码编写 185
11.3 使用DLL 187
11.3.1 创建应用程序的工程文件 187
11.3.2 定制用户化菜单 188
11.3.3 编写代码 189
11.4.1 自动加载 194
11.3.4 执行TestFirstdll应用程序 194
11.4 有关动态链接库加载的一些问题 194
11.4.2 隐式加载 195
11.5 Visual C+++自动生成的Win32 DLL 195
第12章 网络服务器接口 197
12.1 ISAPI类及其使用 197
12.1.1 ISAPI扩展和ISAPI过滤器 197
12.1.2 ISAPI类的组成 198
12.2 使用向导创建ISAPI的应用程序 199
第13章 连接Internet站点 202
13.1 制作Web浏览器 202
13.1.1 建立一个基于对话框的工程文件 202
13.1.2 在应用程序中加入Web浏览器控件 203
13.1.3 编写含Web浏览器的应用程序 204
13.2 介绍WinInet类 207
13.3 WinInet编程基础 209
13.3.1 创建会话 209
13.3.2 建立连接 209
13.3.3 读取URL数据 210
13.3.4 查找资源 210
13.3.5 读取文件 210
13.3.6 异常处理 211
13.4 使用WinInet类查询HTTP站点 211
13.4.1 创建工程文件 211
13.4.2 编辑用户化菜单 211
13.4.3 增加成员变量和成员函数 212
13.4.4 实现查询功能 213
13.5.3 建立消息响应函数 218
13.5.2 编辑用户化菜单 218
13.5.1 创建工程文件 218
13.5 使用WinInet类查询FTP站点 218
第14章 Windows Sockets编程 221
14.1 介绍Windows Sockets 221
14.1.1 CAsyncSocket 221
14.1.2 CSocket 222
14.2 Windows Socket编程基础 223
14.2.1 网络应用程序的结构 223
14.2.2 建立socket对象 224
14.2.3 建立监听socket 224
14.2.4 建立连接 224
14.2.6 为客户端连接请求建立socket队列 225
14.3 编写服务器端通讯程序 225
14.2.5 发送和接收数据 225
14.3.1 创建工程文件 226
14.3.2 定制用户化菜单 226
14.3.3 增加对话框资源 227
14.3.4 增加CClientSocket类 229
14.3.5 增加监听类 231
14.3.6 实现服务器通讯功能 233
14.4 创建客户端通讯程序 236
14.4.1 创建工程文件 237
14.4.2 定制用户化菜单 237
14.4.3 增加对话框资源 237
14.4.4 增加CRequestSocket类 239
14.4.5 实现客户端通讯功能 241
15.1.1 ActiveX的产生 247
15.1.2 COM(组件对象模型) 247
15.1 ActiveX概念 247
第15章 ActiveX容器 247
15.1.3 复合文档 248
15.1.4 嵌入和链接 248
15.1.5 剪贴板和拖放 248
15.1.6 在位激活 249
15.1.7 ActiveX文档 249
15.1.8 ActiveX自动化 249
15.1.9 ActiveX控件 249
15.2 基本ActiveX容器的创建 249
15.2.1 使用AppWizard创建一个基本的ActiveX容器 250
15.3 基本ActiveX容器的功能 251
15.4.1 Menu(菜单) 252
15.4 AppWizard生成的容器代码 252
15.4.2 AppWizard生成的类 253
15.5 ActiveX容器的定制 260
15.5.1 移动、改变大小 260
15.5.2 实现跟踪矩形 261
15.5.3 绘制多个项目 263
15.5.4 选择和激活 264
15.5.5 删除对象 267
15.6 剪贴板 269
15.7 拖放 271
15.7.1 实现拖放源 271
15.7.2 实现拖放目标 272
第16章 ActiveX服务器 278
16.1 全服务器的创建 278
16.2 服务器的功能 279
16.3.1 Menu(菜单) 280
16.3 AppWizard生成的服务器代码 280
16.3.2 AppWinzard生成的类 282
16.4 服务器的定制 288
16.5 既是容器又是服务器的应用程序 290
第17章 ActiveX文档 291
17.1 ActiveX文档容器 291
17.2 ActiveX文档服务器 293
17.2.1 ActiveX服务器的升级 293
17.2.2 ActiveX文档服务器的创建 294
第18章 ActiveX自动化 296
18.1 自动化服务器的创建 296
18.2 AppWizard生成的自动化服务器代码 297
18.3 揭示自动化属性和方法 299
18.4 自动化客户 307
18.4.1 创建自动化客户 307
18.4.2 添加自动化对象类 308
18.4.3 修改对话框模板 311
18.4.4 定义成员变量 312
18.4.5 定义并实现消息处理函数 312
18.4.6 检查自动化客户的功能 313
第19章 ActiveX控件 314
19.1 ActiveX控件的创建 314
19.2 ActiveX ControlWizard生成的代码 317
19.3 ActiveX控件的定制 318
19.3.1 绘制控件 320
19.3.2 响应鼠标单击 321
19.3.3 事件 322
19.3.4 位图图标 323
19.3.5 属性页 323
19.3.6 方法 329
19.4 ActiveX控件的使用 333