第1章 C++语言编程基础 1
1 C++的封装性 2
2 C++的继承性 3
3 C++的多态性 4
4 类的声明 8
5 初始化对象 9
6 虚函数 11
7 运算符重载 13
8 使用静态变量 16
9 函数重载 18
10 使用函数指针实现回调 20
11 定义和使用函数对象 21
12 处理内联虚函数 24
13 理解位运算符 26
14 给表达式赋值 29
15 理解字符串 31
16 C++数组和指针 32
第2章 文档与视图结构 35
17 在窗口中心输出字符串 36
18 设置窗口的初始化大小 37
19 用SDI实现两个文档模板 38
20 设置窗口最小化显示 40
21 改变视图背景 40
22 控制主窗口的最大和最小尺寸 41
23 使用多个定时器 43
24 创建文档模板 45
25 定制文档和视图类 47
26 改变窗口图标 50
27 实现动画图标 52
28 启动时自动打开上次的文档 54
29 启动时不创建空文档 55
30 理解串行化 56
31 以不同格式保存及显示文件 57
32 设置视图类的空背景画刷 58
33 在属性页中添加字体对话框 59
34 理解切分窗口 61
35 创建动态切分窗口 63
36 创建静态切分窗口 63
37 使用CScrollView类 66
38 使程序处于最前面 68
39 移动窗口 68
40 创建不规则窗口 70
41 为文档创建多个视图 73
42 获知与FormView关联的改变 73
43 实现橡皮区矩形 74
第3章 对话框与控件编程 76
44 理解对话框 77
45 生成动态对话框 79
46 对话框显示不出来 81
47 在对话框中显示图片 82
48 改变对话框的背景颜色 83
49 创建模式对话框 84
50 创建非模式对话框 85
51 制作提示对话框 86
52 控制对话框的大小 88
53 为对话框加入位图按钮 88
54 改变控件的颜色 90
55 实现彩色按钮 91
56 生成自绘制的控件类 94
57 运行时指定对话框的按钮 96
58 在对话框中使用菜单和工具栏 96
59 使用组合框控件 99
60 定制编辑框控件中的字符 100
61 检验列表框是否滚动 101
62 使用列表框控件 102
63 使用选项卡控件 103
64 判断树形控件的展开和收缩 105
65 使用树形控件 107
66 使用列表控件 109
67 单选按钮和复选框 111
68 使用UpdateData 114
69 创建对话框 114
第4章 菜单、工具栏和状态栏 117
70 创建自定义菜单 117
71 处理弹出菜单消息 118
72 创建动态菜单 120
73 给系统菜单添加菜单项 122
74 响应鼠标消息 123
75 添加自定义消息 124
76 消息传递和消息循环 125
77 确定菜单占据的行数 126
78 使用浮动菜单 127
79 动态追加菜单项 128
80 获取菜单弹出的位置 129
81 分开类型的MRU菜单 131
82 控制菜单的大小 132
83 创建浮动工具栏 133
84 更新工具栏的状态 135
85 创建自定义工具栏 137
86 在工具栏中嵌入组合框 138
87 控制工具栏的拖动停靠 139
88 不加载菜单、工具栏和状态栏 142
89 在工具栏上添加文本标签 144
90 工具栏停靠 146
91 让工具栏显示256图像 148
92 在状态栏中显示进度条 151
93 在状态栏显示系统时间 153
94 在状态栏中显示鼠标位置 154
第5章 文件与系统编程 156
95 文件读写 157
96 使用文件对话框 158
97 遍历整个目录树 159
98 打开文件提示 162
99 调用html文件 163
100 修改目录的日期和时间 164
101 获取文件或文件夹属性 167
102 将路径转换为长路径名 169
103 分割文件成多个小文件 171
104 合并多个文件成一个可执行文件 175
105 实现文件拖放 182
106 访问和修改注册表 183
107 使用注册表保存信息 186
108 识别操作系统环境 187
109 检测硬件设备 188
110 使改变的鼠标光标不闪烁 190
111 使用应用程序模拟键盘和鼠标按键 191
112 设置系统时间 192
113 将应用程序的图标加入到系统托盘中 193
114 设定计算机名称 195
115 创建临时文件 196
116 启动和等待线程结束 197
117 检测系统中的当前进程 199
第6章 COM组件编程 202
118 理解COM本质 203
119 重用C++对象 204
120 定义COM接口 206
121 使用接口描述语言IDL 209
122 定义IUnknown接口 210
123 实现IUnknown接口 211
124 获取接口指针 214
125 定义IClassFactory接口 216
126 创建永久对象 217
127 利用类厂创建COM对象 219
128 对COM库进行初始化 220
129 实现包容 221
130 实现聚合 222
131 COM客户如何使用COM对象 224
132 定义接口映射表 225
133 类厂在MFC中实现 226
134 使用MFC建立COM组件 227
135 测试COM组件 229
136 编写COM组件 232
第7章 数据库编程 236
137 连接ODBC数据源 237
138 动态加载ODBC数据源 238
139 处理记录集与对应表 239
140 查询ODBC数据源中的数据 240
141 在MFC ODBC中进行事务处理 243
142 配置ODBC数据源 244
143 利用SQL语句删除记录 246
144 绕过ODBC口令提问 247
145 分配连接句柄 247
146 执行SQL语句 248
148 断开并释放数据源连接 250
147 释放语句句柄 250
149 使用DAO进行数据库编程 251
150 操作数据库对象 253
151 使用DAO进行事务处理 255
152 直接调用DAO函数 257
153 使用ADO访问数据库 257
154 利用UDL文件建立ADO连接 262
155 使用ADO操作记录集 263
156 使用ADO进行事务处理 266
157 使用ADO执行SQL命令 267
158 获取数据链接的属性 268
159 降低记录集文件的数量 272
160 建立自定义数据库类 275
第8章 多媒体编程 278
161 多媒体系统的关键技术 279
162 多媒体的文件格式 280
163 创建字体对象 281
164 显示旋转文本 282
165 输出空心字 284
166 显示渐变字 286
167 输出艺术字 288
168 制作应用程序真彩封页 291
169 设置窗口字体属性 294
170 实现马赛克效果 297
171 实现浏览位图 300
172 创建OpenGL项目 302
173 播放视频文件 305
174 播放无声AVI动画文件 308
175 创建多媒体播放器 309
176 制作MIDI文件播放程序 311
177 利用MCI播放大型WAV文件 313
178 制作CD播放器 314
179 访问MCI 317
180 创建纹理场景 319
181 绘制Bezier线框曲面 320
第9章 ATL与ActiveX控件编程 324
182 理解ATL技术 325
183 使用ATL窗口类 327
184 创建ATL项目 327
185 使用ATL实现一个窗口 330
186 实现一个对话框 331
187 实现容器窗口 332
188 增加一个连接点 333
189 创建ATL Server项目 334
190 使用ATL实现接口 336
191 创建ATL ServerWeb项目 340
192 添加和改变ActiveX控件储备事件 341
193 添加ActiveX控件的自定义事件 342
194 创建ActiveX控件项目 342
195 定义ActiveX控件的属性 344
196 显示ActiveX控件的属性页 345
197 创建ActiveX容器程序 346
198 在容器程序中管理嵌入对象 347
199 使用鼠标来修改对象 349
200 创建ActiveX服务器项目 353
第10章 Internet应用程序编程 358
201 初始化WinSock 359
202 实现网络聊天室服务器 360
203 创建套接字 361
204 传递套接字描述符和指针 362
205 从数据报套接字接收数据 364
206 向数据报套接字发送数据 364
207 流式套接字连接发送和接收数据 365
208 异步接收数据 366
209 使用WinInet函数 368
210 连接Internet服务器 369
211 回调函数与句柄建立链接 370
212 实现客户端通信功能 371
213 从FTP、HTTP或Gopher服务器中获取数据 374
214 从文件句柄读取数据并移动文件指针 375
215 获取和设置FTP服务器的当前目录 376
216 FTP下载文件 377
217 FTP上传文件 380
218 FTP打开文件 382
219 发送HTTP请求 383
220 处理HttpSendRequest()函数的调用错误 384
221 获取服务器的响应信息 385
222 实现HTTP协议 386
223 使用CInternetSession对象检索文件 389
224 HTTP服务器处理 390
225 Gopher服务器处理 393
226 发送电子邮件 395
227 实现网页浏览 398
228 控制浏览器 399
229 使用POP协议接收电子邮件 400
230 处理发送和接收数据的超时 402
231 创建Internet服务器扩展程序 403
232 从Internet上下载文件 404
233 实现串行通信 406
234 在单线程中实现串口通信 407
235 在多线程下实现串行通信 409
236 读取网卡的MAC地址 410
237 使用CSockets进行文件传送 411