第1章 Visual C++ .NET简介 1
1.1 .NET平台概述 2
1.1.1 .NET平台产生的背景 2
1.1.2 .NET平台的组成 3
1.1.3 .NET技术框架内核 4
1.1.4 .NET主要特性 5
1.2 Visual C++.NET运行环境 6
1.3 VS.NET的IDE界面 6
1.3.1 集成开发环境 6
1.3.2 菜单与工具栏 7
1.3.3 属性窗口 7
1.3.4 代码编辑器 10
1.3.5 动态帮助窗口 11
1.3.6 文件区 12
1.3.7 工具箱 12
1.4 Visual C++.NET新特性 13
1.4.1 项目建立 13
1.4.2 多项级文档 14
1.4.3 标准兼容 15
1.4.4 托管的C++ 15
1.4.5 集成MFC和ATL 18
1.4.6 新的UI特性和更新 18
1.4.7 管理位图的CImape 19
1.4.8 CLinkCtrl公共控制WRapper类 20
1.4.9 HTTP客户 20
1.4.10 SMTP和MIMI-encoded消息支持 20
1.4.11 带有OLE DB的高性能数据库 20
1.4.12 STL的更新 21
第2章 高级界面编程 23
2.1 概述 24
2.2 菜单 24
2.2.1 菜单类CMenu 24
2.2.2 菜单类的成员 24
2.2.3 菜单类的应用 26
2.2.4 实例:在应用程序中使用菜单类实现“我的收藏夹” 27
2.3 控件 31
2.3.1 概述 31
2.3.2 Windows公共控件的信息 31
2.3.3 创建和使用控件 32
2.4 按钮 35
2.5 窗口 36
2.5.1 概述 36
2.5.2 创建 37
2.5.3 销毁 37
2.5.4 更改MFC创建的框架窗口的样式 38
2.5.5 Windows消息函数 38
2.5.6 CWnd类的派生应用 39
2.5.7 具体示例 39
2.6 对话框 42
2.6.1 概述 42
2.6.2 创建并显示对话框 42
2.6.3 初始化对话框 44
2.6.4 在对话框中处理Windows消息 44
2.6.5 在对话框对象中检索数据 44
2.6.6 关闭对话框 44
2.6.7 销毁对话框 44
2.6.8 用代码向导创建对话框类 45
2.6.9 应用实例 45
2.7 基于HTML的对话框 49
2.7.1 Web对话框的创建方法 49
2.7.2 使用对话框资源与HTML资源编辑器 51
2.7.3 HTML对话框编程 53
2.8 小结 55
第3章 系统编程 57
3.1 概述 58
3.2 创建与管理进程 58
3.2.1 进程概述 58
3.2.2 创建进程 58
3.2.3 进程的销毁 61
3.2.4 进程相关函数 62
3.2.5 进程实例 64
3.3 线程以及同步 68
3.3.1 线程概述 68
3.3.2 创建线程 69
3.3.3 结束线程 72
3.3.4 线程同步 72
3.4 文件 75
3.4.1 文件操作 75
3.4.2 目录操作 77
3.4.3 文件实例 78
3.5 注册表与系统信息 81
3.5.1 注册表基础 81
3.5.2 Win32中的注册表操作函数 82
3.5.3 .NET框架类库中对注册表的支持 83
3.5.4 操作注册表的编程步骤 84
3.5.5 实例 85
3.5.6 获取系统的网络信息 86
第4章 GDI+图像编程 91
4.1 概述 92
4.1.1 GDI+的组成部分 92
4.1.2 基于类的接口结构 93
4.1.3 新增加的功能 93
4.1.4 GDI+编程模块的变化 96
4.2 应用GDI+编程 99
4.2.1 GDI+编程步骤 99
4.3 GDI+绘图基础 100
4.3.1 坐标空间与坐标变换 100
4.3.2 画笔 102
4.3.3 画笔和渐变画笔 103
4.3.4 重新着色 105
4.3.5 图形容器 107
4.3.6 区域 108
4.3.7 基本绘图函数 110
4.4 选择字体和绘制文本 111
4.4.1 构造字样和字体 111
4.4.2 文本输出 112
4.4.3 设置文本格式 113
4.4.4 文本质量输出控制 115
4.5 GDI+的图像处理 116
4.5.1 概述 116
4.5.2 图像文件格式 116
4.5.3 调用和显示图像文件 117
4.5.4 调用和显示矢量图像文件 120
4.6 小结 122
第5章 OpenGL编程 123
5.1 概述 124
5.1.1 OpenGL基本功能 124
5.1.2 OpenGL函数库 126
5.2 绘制OpenGL基本几何对象 129
5.2.1 定义点 129
5.2.2 OpenGL的线定义 130
5.2.3 定义与绘制多边形 130
5.2.4 设置点、线和多边形属性 131
5.3 生成OpenGL程序 132
5.4 实现三维动画 135
5.4.1 OpenGL变换的基本概念 135
5.4.2 帧缓存和动画 140
5.4.3 实现三维动画的编程步骤 141
5.5 在OpenGL中显示汉字 143
5.6 OpenGL纹理映射 145
5.6.1 纹理的基本概念 145
5.6.2 纹理定义 146
5.6.3 纹理控制与映射 147
5.6.4 纹理坐标 149
5.6.5 使用纹理的编程步骤 150
5.7 小结 154
第6章 多媒体编程 155
6.1 多媒体编程概述 156
6.2 使用Directx 8.0开发多媒体应用 156
6.2.1 DirectX的功能 156
6.2.2 DirectX的发展历史 156
6.2.3 DirectX 8.0的新特性 158
6.3 使用DirectAudio制作可调音效的声音播放器 160
6.3.1 DirectAudio简介 160
6.3.2 DirectAudio编程示例 161
6.4 使用DirectDraw绘制屏幕动画 169
6.4.1 DirectDraw简介 169
6.4.2 DirectDraw编程示例 171
6.5 使用DirectInput制作鼠标画笔 177
6.5.1 DirectInput简介 177
6.5.2 DirectInput编程示例 178
6.6 使用DirectShow制作媒体播放器 189
6.6.1 DirectShow简介 189
6.6.2 DirectShow编程示例 191
6.7 小结 200
第7章 网络编程 201
7.1 网络编程概述 202
7.2 远程拨号上网 202
7.2.1 RAS简介 202
7.2.2 编程示例 202
7.3 Web风格的文件浏览器 213
7.3.1 CDHtmlDialog简介 214
7.3.2 编程示例 215
7.4 FTP访问示例 223
7.4.1 FTP服务简介 223
7.4.2 编程示例 223
7.5 使用CAtlHttpClient类构造http客户端 230
7.5.1 编程实例 231
7.6 小结 244
第8章 数据库编程 245
8.1 概述 246
8.2 SQL数据库访问引擎 248
8.2.1 使用MFC ODBC类访问SQL数据库 248
8.2.2 编程实例 258
8.3 使用DAO编写数据库管理程序 270
8.3.1 DAO概述 270
8.3.2 编程实例 271
8.4 .NET的新特性:SafeArrays 290
8.5 小结 290
第9章 ATL编程 291
9.1 概述 292
9.1.1 简介 292
9.1.2 关键技术 292
9.2 使用ATL开发COM服务器 293
9.2.1 基本步骤 293
9.2.2 运行结果 293
9.2.3 实际编程 294
9.3 使用ATL开发播放CD的控件 302
9.3.1 基本步骤 302
9.3.2 运行结果 302
9.3.3 实际编程 302
9.4 小结 308
第10章 XML Web Service编程 309
10.1 Web体系结构:过去与未来 310
10.2 XML语言简介 312
10.2.1 XML的起源和目的 312
10.2.2 XML的特点与优点 314
10.2.3 XML与HTML及SGML之间的关系 315
10.2.4 XML的应用领域 316
10.3 SOAP协议规范 317
10.3.1 简介 317
10.3.2 设计目标 318
10.3.3 SOAP消息交换模型 318
10.3.4 与XML的关系 319
10.3.5 SOAP封装 319
10.3.6 SOAP编码规则 321
10.3.7 在HTTP中使用SOAP 323
10.3.8 SOAP HTTP示例 325
10.3.9 在RPC中使用SOAP 325
10.4 Web Service结构 326
10.4.1 概述 326
10.4.2 Web Service描述语言WSDL 330
10.4.3 UDDI 333
10.5 实例:使用ATL Server创建Web Service 334
10.5.1 基本步骤 334
10.5.2 运行结果 334
10.5.3 实际编程 335
10.6 实例:获取并格式化显示XML文件中的数据 342
10.6.1 基本步骤 343
10.6.2 程序运行结果 343
10.6.3 实际编程 343
10.7 小结 355
第11章 STL编程 357
11.1 概述 358
11.2 STL组成 358
11.2.1 STL算法 359
11.2.2 STL容器 360
11.2.3 STL迭代器 360
11.2.4 STL函数对象 361
11.2.5 STL的其他部分 362
11.3 STL编程环境 365
11.3.1 头文件 365
11.3.2 名字空间 365
11.4 容器:双队列编程实例 366
11.4.1 概念 366
11.4.2 功能描述 367
11.4.3 程序实现 369
11.4.4 运行结果 372
11.5 常用算法测试实例 372
11.5.1 <algorithm>算法实例 372
11.5.2 <numeric>算法实例 381
11.5.3 <functional>算法实例 384
11.6 迭代器编程实例 389
11.6.1 普通迭代器实例 389
11.6.2 反转型迭代器实例 389
11.6.3 插入迭代器实例 392
11.6.4 流迭代器实例 394
11.7 小结 397