VISUAL C++程序员实用大全

VISUAL C++程序员实用大全
作 者: Charles Wright 邓劲生 张晓明 邓劲生
出版社: 中国水利水电出版社
丛编项: 万水计算机技术实用大全系列
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: VC++
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

暂缺《VISUAL C++程序员实用大全》作者简介

内容简介

本书深入浅出地讲述Visual C++各种编程诀窍,以高屋建瓴的眼光看待MFC编程的技巧和思想,详尽分析了具体实现中的技术内幕。本书以其翔实知识面的覆盖、大量实用的示例和作者自身丰富的编程经验,阐述了从C语言编程基础、C++面向对象语法、MFC类库、控件及高级应用、进程和线程到异常处理等各个方面的诀窍,是一本系统而全面的编程经典图书。 全书面向实例进行阐述,讲解透彻独到。本书既可作为计算机软件开发人员的技术参考书,也可作为初学者和大专院校师生的自学参考书。

图书目录

怆者序

第一章 编程基础

1 理解软件的概念

2 理解计算机是怎么运行程序的

3 理解低级语言

4 理解高级语言

5 运行一个己解释的程序

6 运行一个己编译的程序

7 C++在哪里

8 理解Visual C++中的程序文件

9 创建源代码文件

10 理解并创建头文件

第二章 结构和语法

11 理解计算机语言

12 理解计算机语言的句法

13 理解“标记”

14 空白在C和C++中的使用

15 理解变量

16 对变量命名

17 理解表达式

18 C/C++中的语句

19 理解程序流

20 深入程序流:理解goto语句

21 深入程序流:理解调用函数

22 理解程序的结构

23 理解C/C++中的函数

24 在函数中书写可重用代码

25 使用库函数

第三章 C编程语言

26 理解数据类型

27 C/C++中的数据类型

28 定义自己的数据类型

29 理解运算符

30 赋值运算符

31 理解一元运算符

32 理解算术运算符

33 其他运算符

34 编译器是怎样计算表达式的

35 使用括号组合运算符

36 理解C/ C++的关键字

37 编译程序引导语句

38 介绍结构和联合

39 介绍C++类

40 C和C++怎样处理结构和联合

第四章 C和C++概念

41 理解命名规则

42 Hungarian Notation系统

43 声明和定义的区别

44 理解声明:对变量的声明

45 理解声明:在函数调用中声明一个变量

46 理解声明:函数的原型化

47 理解#define编译器指令:定义常数

48 理解#define编译器指令:定义宏

49 理解存储类变量:自动变量

50 理解存储类变量:寄存器变量

51 理解存储类变量:静态变量

52 理解存储类变量:类的静态变量

53 引入递归

54 理解循环:排序的问题

55 理解递归:数学问题

56 理解指针

57 理解指针:间接操作

58 理解数组

59 理解字符串作为char类型的数组

60 代码注释

第五章 文件——基本类型

61 Visual C++IDE使用的文件类型

62 理解文本文件和文档文件

63 创建并使用源文件

64 创建并使用头文件

65 使用保护:避免头文件多次被包含

66 理解makefile

67 理解makefile:定义环境变量

68 理解makefile:设置从属关系

69 使用NMAKE.EXE

70 理解可执行文件

第六章 理解字符

71 理解字符:ASCII码字符

72 理解字符:转换ASCII码或称扩展字符集

73 C/C++的转义序列:嵌入不可打印的字符

74 C/C++转义序列:使用反斜线

75 C/C++转义序列:使用百分号来对文本进行格式化

76 使用printf:格式化输出

77 使用Printf:设置字段宽度

78 使用printf:设置精度

79 使用printf:用0和空格填充区域

80 C++ I/O流:cout、cin和cerr

第七章 探索Visual C++环境

81 创建工程项目

82 Visual Studio菜单

83 Visual Studio菜单:File菜单

84 Visual Studio菜单:Eidt菜单

85 Visual Studio菜单:View菜单

86 Visual Studio菜单:Insert菜单

87 Visual Studio菜单:Project菜单

88 Visual Studio菜单:Build和Tools菜单

89 自定义Visual Studio菜单

90 向Tools菜单中添加命令

91 弹出式(或上下文式)菜单

92 探索Visual Studio窗口:Edit窗口

93 探索Visual Studio窗口:Output窗口

94 探索Visual Studio窗口:Variables窗口

95 探索Visual Studio窗口:Watch窗口

96 探索Visual Studio窗口:Hiding、Showing和Docking窗口

97 探索Visual Studio窗口:ClassView面板

98 探索Visual Studio窗口:ResourceView面板

99 探索Visual Studio窗口:FileView面板

100 探索Visual Studio工具栏

101 探索Visual Studio工具栏:它们能干什么

102 探索Visual Studio工具栏:隐藏和显示工具栏

103 探索Visual Studio工具栏:自定义工具栏

104 探索Visual Studo工具栏:创建自己的工具栏

105 在Visual Studio中获取帮助

106 使用Find in Files命令

107 上下文跟踪

108 使用全屏编辑器

109 使用分隔面板查看同一文件中的不同地址

110 使用调试窗口

111 完成程序编辑器

第八章 开始编程

112 从命令行运行编译器

113 创建源文件

114 main()函数

115 向程序中添加头文件

116 使用printf输出文件

117 “Hello,World”:一个简单的命令行C++程序

118 格式化输出族

119 格式化输入

120 三个标准文件:stdin、stdout和stderr

121 使用C++流函数cout、cin和cerr

122 重定向标准输出stdout到一个文件

123 main()的参数:argc和argv

124 使用if语句控制输出

125 打开文件

126 使用文件I/O函数

127 加入while循环

128 向程序中加入函数

129 使用for循环

130 编译命令行选项

131 加入第二个源文件

132 加入头文件

133 创建makefile

134 运行nmake.exe来编译程序

第九章 C++运算符

135 理解运算符类型

136 理解一元运算符:间接运算符(*)

137 理解一元运算符:地址运算符(&)

138 理解一元运算符:自增和自减运算符(++和--)

139 理解一元运算符:取反运算符和补码运算符

140 理解一元运算符:加法和减法运算符

141 理解算术运算符:倍数运算符(“、/和%)

142 理解算术运算符:加运算符(+和-)

143 理解关系运算符:等于运算符(==和!=)

144 理解关系运算符:小于和大于运算符(<和>)

145 理解关系运算符:小于等于和大于等于运算符(<=和>=)

146 理解位运算符:位移运算符(<<和>>)

147 理解位运算符:与运算符(&)

148 理解位运算符:或运算符(|)

149 理解位运算符:异或运算符(^)

150 理解逻辑运算符:与运算符(&&)

151 理解逻辑运算符:或运算符(||)

152 理解赋值运算符:等号运算符(=)

153 理解其他赋值运算符(+=,-=,*=,/=,%=,>>=,<<=,&=,^=,|=)

154 其他运算符:条件运算符(?…:)

155 其他运算符:逗号运算符

156 其他运算符:圆括号

157 其他运算符:引用运算符

158 注意&符号

159 理解C++如何给表达式赋值

160 注意复杂表达式

第十章 编写条件语句

161 在C/C++中编写语句

162 流程控制介绍

163 使用if关键字

164 使用else关键字

165 执行一条单一语句

166 执行作为if语句目标的多条语句

167 组合使用if和else关键字

168 使用多个if条件控制

169 使用条件运算符

170 作用域介绍

171 理解条件语句中的作用域

172 条件语句的一些常见错误

第十一章 程序循环

173 循环介绍

174 用条件语句和goto语句构造循环

175 介绍while循环

176 使用continue和break语句

177 介绍do while循环

178 介绍for循环

179 理解循环内的作用域

第十二章 switch语句

180 理解switch语句

181 使用case和default语句

182 在switch语句内部声明变量

183 在case语句内部声明变量

第十三章 C++语言简介

184 C语言简史

185 向C++转变

186 理解C语言的结构

187 介绍C++的类

188 理解类与结构的相同点和不同点

189 在C和C++中声明变量

190 理解函数原型

第十四章 C/C++中的数组

191 理解数组

192 声明数组变量

193 使用字符串数组

194 使用对象数组

195 理解指向数组的指针

196 访问数组元素

197 理解数组运算

198 递增和递减数组变量

199 声明多维数组

第十五章 宏、常量和预处理命令:定义及使用常量

200 理解常量

201 使用预处理命令#define

202 注意#define语句中的分号

203 声明数值常量

204 声明无值常量

205 理解字符串常量

206 定义数字常量

207 用变量定义常量

208 取消定义常量

209 理解sizeof操作符

210 理解const关键字

211 理解何时使用const和#define

212 用指针修改const常量的值

213 理解volatile关键字

第十六章 使用环境变量

214 理解环境变量

215 获得环境变量的长度

216 获得环境变量的值

217 从环境变量串中获取指针

218 设置环境变量

219 示例:寻找Windows所在的目录

第十七章 头文件

220 理解#include预处理命令

221 理解INCLUDE路径环境变量

222 理解#include<file.h>和#include file.h的区别

223 在头文件中使用卫式定义

224 在大的工程中使用通用头文件

225 把头文件添加到makefile的关联列表中

226 理解当头文件改变时发生什么

第十八章 条件编译

227 理解#if预处理指令

228 理解#endif预处理指令

229 理解#ifdef预处理指令

230 使用#else和#elif预处理指令

231 在命令行中定义常量

第十九章 定义和使用宏

232 理解C/C++中的宏

233 定义宏——又是#define指令

234 理解宏替换

235 用变量定义宏

236 理解编译器对宏的解释

237 理解运行库中的宏

238 示例:求一个数的平方

第二十章 理解编程中字符串的重要性

239 理解字符串和用户接口

240 理解ASCII字符表中大小写字母之间的关系

241 使用位“与”和位“或”来改变字符的大小写状态

242 理解标点字符

243 理解控制字符

第二十一章 C/C++中的字符串

244 理解字符变量类型

245 理解C和C++语言存储字符串的方式

246 理解NUL字符(\0)

247 理解和使用字符串指针

248 获取字符串的大小

第二十二章 声明字符串

249 声明字符型变量

250 定义字符型数组变量

251 定义字符串数组

252 理解动态字符串:new操作

253 理解动态字符串:delete操作

第二十三章 字符串函数

254 理解字符串库函数

255 理解字符串加载函数

256 理解字符串信息函数

257 使用字符串函数复制指定数目的字符

258 在字符串中查找一个字符

259 在字符串中查找一个子串

260 查找字符串中的标记

261 使用strtok()解析一个字符串

262 扩展strtok函数以实现对空标记的解析

263 理解不区分大小写的函数

第二十四章 操作字符串

264 理解sizeof操作符

265 使用sizeof操作来判断字符串的有效长度

266 使用sizeof判断数组中字符串的数量

267 访问字符串中的单个字符

268 动态分配字符串

269 示例:反转一个字符串中的字符

第二十五章 函数和变量

270 理解函数

271 理解C和C++中的函数声明

272 理解函数定义

273 理解函数原型

274 声明和定义返回一个值的函数

275 声明和定义带参数的函数

276 理解函数的默认值

277 理解内联函数

278 理解引用调用和值调用

279 引用调用和值调用的优缺点

280 C/C++中的函数调用

281 理解函数的作用域

282 在函数调用中使用指针

283 理解引用运算符(&)

284 利用引用运算符修改变量

285 函数重载简介

286 理解函数重载

287 理解函数模板

288 使用函数模板和重载函数的选择

289 理解函数指针

290 获取重载函数的地址

291 理解引用函数

292 理解函数和宏之间的区别

293 函数和宏使用上的选择

294 理解变量

295 理解变量类型

296 更改变量类型

297 理解局部变量

298 理解全局变量

299 C++允许在函数体中说明变量

300 理解存储类型

301 理解静态变量

302 定义全局静态变量

303 在程序中定义静态变量

304 创建自己的变量类型:typedef关键字

305 理解变量的作用域

306 理解左值(lvalue)

307 理解NULL

308 理解void类型

309 理解指向变量的指针

310 声明和初始化指向变量的指针

311 理解间接操作:获得指针所指向的值

312 理解指针数组:指向指针的指针

313 初始化指针数组

314 理解转换:暂时修改变量类型

315 自动类型转换:混合int和char类型的变量

316 转换指针:危险的迹象

第二十六章 开始C++:面向对象编程

317 面向对象编程

318 C++:C语言的进一步发展

319 OOP的三个原则

320 理解封装

321 将结构理解成一种封装设备

322 理解C++中的类

323 理解多态性

324 现实世界中的多态性

325 理解多态性的示例:函数重载

326 使用类作为多态性的对象

327 理解继承

328 从上至下的继承

329 使用对象

330 将程序划分成对象

331 一个面向对象编程的示例

第二十七章 C++类

332 理解类的元素

333 理解构造函数

334 把参数传递给构造函数

335 在类中使用多个构造函数

336 理解析构函数

337 理解类中的访问关键字

338 使用访问关键字实施封装

339 保持火药干燥(保持数据成员为私有的)

340 理解基类

341 从基类派生一个新类

342 理解多重继承

343 放置第一块砖:使用基类

344 理解成员函数

345 理解友元类

346 理解友元函数

347 理解虚函数

348 理解抽象类

349 理解嵌套数据类型

350 理解静态成员

351 理解静态函数

352 理解静态数据成员

353 使用静态成员

354 理解作用域分辨

355 理解回调函数

356 理解操作符重载

357 重载操作符

第二十八章 C++I/O

358 使用cin、cout和cerr

359 理解插入符

360 理解提取符

361 理解文件流

362 理解顺序流函数

363 理解随机流函数

364 理解width()、precision()和fill()

365 理解I/O操纵器

366 创建自己的插入符

367 创建自己的提取符

第二十九章 C++数组和指针

368 理解对象指针

369 理解类指针

370 this指针

371 使用malloc()和free()

372 使用new操作符

373 使用delete操作符

374 理解内存泄漏

375 使用派生类指针

376 理解对象指针运算

第三十章 Windows和Visual C++基础

377 理解过程驱动编程

378 理解事件驱动编程

379 介绍控件

380 理解Windows如何与程序交互

381 Windows消息泵

382 响应Windows消息

383 使用模块定义文件

384 理解资源

385 为Windows程序使用生成文件

386 理解WinMain()函数

387 在WinMain()中使用命令行参数

388 理解参数nCmdShow

389 理解程序实例

390 理解窗口类

391 理解WNDCLASS和WNDCLASSEX结构

392 注册窗口类

393 理解窗口组件

394 理解Windows客户区域

395 理解重叠窗口

396 理解弹出式窗口

397 理解子窗口

398 理解标题栏

399 理解系统菜单

400 理解最小化、最大化和关闭窗口按钮

401 理解菜单和工具栏

402 使用滚动条

403 使用资源文件

404 使用资源编译器

405 理解光标和图标

406 理解快捷键

407 在资源文件中使用菜单

408 理解字符串表

409 向资源文件中加入位图

410 理解对话框

411 理解Windows中的键盘输入

412 理解WM_KEYDOWN和WM_KEYUP消息

413 理解WM_CHAR消息

414 理解WM_SYSKEYDOWN、WM_SYSKEYUP和WM_SYSCHAR消息

415 理解插入符号

416 在Windows中使用鼠标输入

417 理解鼠标消息

418 响应鼠标事件

419 判断鼠标键是否按下

420 开发Windows程序

421 编写WinMain()函数

422 创建主窗口

423 使主窗口可见

424 进入消息循环

425 编写响应消息的代码

426 使用Microsoft链接程序

427 理解增量链接

428 理解链接程序选项

429 在生成文件中调用链接程序

430 使用DUMPBIN.EXE和EDITBIN.EXE

第三十一章 图形设备接口

431 理解图形设备接口

432 理解设备环境

433 设备环境和输出设备

434 使用Microsoft Foundation Class的设备环境

435 利用GDI绘图

436 理解屏幕坐标

437 理解客户坐标

438 理解打印机设备环境

439 GDI对象:字体

440 理解字体家族

441 GDI对象:画笔

442 GDI对象:刷子

443 GDI对象:位图

444 GDI对象:调色板

445 GDI对象:区域

446 理解映射

447 理解映射模式

448 理解设备坐标

449 理解逻辑坐标

450 理解绘图模式

451 理解图形和点

452 理解路径

453 使用函数BeginPath()和EndPath()

454 解释WM_PAINT消息

455 使用函数SetPixel()

456 绘制一系列点

457 绘线

458 使用函数MoveToEx()

459 使用函数LineTo()

460 用一系列直线绘制曲线

461 绘制弧线

462 绘制圆和椭圆

463 绘制封闭区域

464 使用笔

465 使用刷子

466 填充一个封闭区域

467 文本规格的介绍

468 了解印刷术

469 了解Windows字体类型

470 理解像素尺寸

471 理解字符宽度

472 理解字符属性

473 理解文本对齐方式

474 使用MFC的CFont类

475 理解创建字体的CFont函数

476 理解文本输出函数

477 使用DrawText()函数

478 使用TextOut()和ExtTextOut()函数

479 使用TabbedTextOut

480 理解GrayString()函数

481 理解文本输出的背景模式

482 旋转文本

483 设置文本和背景颜色

484 用CEdit和CStatic派生出来的类设置文本属性

485 GDI示例:绘制一个字符镜像

第三十一章 Microsoff Foundation Class库

486 了解类库

487 使用类库来创建程序

488 引入Microsoft基础类库

489 MFC是如何在Visual Studio中实现的

490 调用Visual Studio向导创建一个基于MFC的程序

491 引入CObject

492 应用程序结构类

493 用户对象类

494 文件服务类

495 使用设备场景类

496 绘图对象类

497 控件、支持、数据库、菜单、命令行、同步和Socket类

498 数组、列表和映射类

499 Internet服务类

500 窗口类:CWnd介绍

501 理解CWnd子孙类

502 框架窗口类

503 使用CFrameWnd类:单文档界面

504 使用CFrameWnd类:多文档界面

505 使用CSplitterWnd类

506 控作栏类

507 属性表类

508 使用对话框类

509 理解通用对话框类

510 理解属性页类

511 理解用户对话框类

512 理解视图类

513 MFC视图类介绍

514 调用Visual Studio向导创建视图类程序

515 调用Visual Studio向导创建基于对话框的程序

516 文件服务类介绍

517 使用CFile及其子孙类

518 使用内存文件

519 使用Socket文件

520 使用CStdioFile

521 理解CRecentFileList类

522 理解控件类

523 非CObject派生类

524 理解CStrint

525 理解CPoint

526 理解Crect

527 理解CSize

528 理解支持类

529 理解同步(锁)类

530 使用CIntemetConnection

531 使用CFtpConnection

532 理解CRuntimeClass

533 理解文档类

534 理解异常类

536 使用工具栏类

537 用MFC类实现打印和打印预览

538 理解线程类

539 理解命令操作器:CCmdUI类

540 理解CWaitCursor类

541 使用CImageList类

542 从MFC类库派生自定义类

第三十三章 Developers Studio向导:创建工程

543 理解New菜单命令

544 创建文件

545 创建工作区

546 创建其他文档

547 创建工程

548 理解小工程

549 理解MFC AppWizard

550 创建MFC EXE工程

551 在工程中加入多文档支持

552 理解文档/视图支持

553 理解数据库支持

554 在工程中加入复合文档支持、ActiveX和Automation

555 选择工程特色

556 理解工具栏选项

557 理解高级选项

558 其他工程选项

559 最后一步:为类命名和选择视图类

560 创建基于对话框的工程

561 为基于对话框的工程选择特色和支持选项

562 选择对话框选项

563 使用MFC创建DLL工程

564 创建Win32库

第三十四章 ClassWizard

565 ClassWizard介绍

566 ClassWizard的调用

567 使用ClassWizard对话框

568 理解Message Maps页

569 使用ClassWizard添加消息处理函数

570 理解Member Functions窗口

571 使用ClassWizard删除消息处理函数

572 理解Member Variables页

573 在程序中增加变量

574 从程序中删除变量

575 理解Update Colums和Bind All按钮

576 理解Automation页

577 为自动化类添加方法

578 为自动化类添加属性

579 理解ActiveX页

580 理解Class Info页

581 使用ClassWizard添加类

582 使用ClassWizard从类库添加类

583 在程序中加入通用类

584 添加代码和使用ClassWizard导航代码

第三十五章 向导栏

585 理解向导栏

586 显示和隐藏工具栏

587 理解向导栏组合框控件

588 理解向导栏动作控件

589 理解向导栏动作菜单

590 调用动作菜单

591 理解目录跟踪

592 使用向导栏添加类

593 使用向导栏添加消息处理函数

594 添加虚函数

595 在类中添加成员函数

596 在工程中添加窗口

597 在源文件间切换

598 在函数定义和声明间切换

599 在类之间移动

600 在向导栏内从一个函数移到另一函数

601 打开#include文件

602 使用Find in Files

603 使用窗口列表按钮

604 使用搜索按钮

605 使用工作区和输出窗口按钮

606 理解工作区窗口

607 使用ClassView面板

608 使用ResourceView面板

609 使用FileView面板

第三十六章 文档和视图

610 理解文档/视图结构

611 理解文档对象

612 理解视图对象

613 理解文档/视图结构中的窗口框架

614 理解文档管理器

615 理解文档模板

616 在工程中加入多文档类型

617 理解文档/视图中的Windows消息路径

618 理解默认消息

619 重载框架消息处理函数

620 理解CArchive类

621 使用串行化函数

622 理解CView

623 重载OnPaint消息处理函数

624 在CView中显示文本

625 在CView中绘制图形对象

626 使用CScrollView类

627 使用CEditView类

628 在编辑视图中插入文本

629 理解插入和覆盖模式

630 在编辑视图中加入覆盖模式

631 使用编辑视图保存和恢复文本文件

632 使用CRichEditView类

633 使用CRichEditView创建工程

634 理解复合文档支持

635 理解OLE容器支持

636 理解服务器和最小服务器支持

637 添加菜单和工具栏项以支持多文本

638 理解多文本编辑控件中的字符属性

639 理解CHARFORMAT和CHARFORMAT2结构

640 改变字体

641 改变多文本编辑文档视图中的默认字体

642 为文本设置粗体

643 为文本设置斜体、下划线和删除线

644 设置字体和背景颜色

645 设置段落对齐

646 在格式栏中添加字体和字号框

647 在多文本编辑视图中添加用户和文件信息

648 使用串行化保存与恢复用户信息和文件信息

649 使用CListView类

650 理解带CListView的CImagelist类

651 创建图像列表

652 在列表控件中显示不同的样式

653 增加工具栏来改变显示样式

654 使用LVS_OWNERDRAWFIXED样式

655 使用自主绘图属性产生整行选择

656 使用CTreeView类

657 组合CTreeView、CListView和CSplitterWnd创建一个资源管理器类型的应用程序

658 在资源管理器类型的应用程序右面板里使用其他代替视图

659 使用CFormView类

660 创建基于表单的应用程序

661 向程序中插入新的表单

662 在程序中使用多重视图

663 向文档中添加视图

664 从文档中删除视图

665 创建其他视图类:CCtrlView

666 使用CSplitterWnd实现多重视图

667 切分一个分割窗口

668 联合使用CSplitterWnd和文档视图

669 通过改写InitInstance函数避免创建初始化文档

670 理解永久保存数据机制

671 保存状态栏中的信息

672 更新与同一文档关联的多个视图

第三十七章 调试技术

673 使用Visual Studio Debugger

674 设置工程项目选项

675 使用调试窗口

676 设置和使用断点

677 单步执行程序

678 调试命令行程序

679 使用Edit and Continue进行调试

680 输出到Output窗口

681 理解远程调试

682 建立远程调试器

683 在远程和本地调试间切换

684 理解实时调试

685 有用的调试技术

686 使用CMemoryState类来检查内存泄漏

第三十八章 Resource Workshop

687 理解Windows资源

688 使用Resource Workshop

689 理解资源编译器

690 理解Workspace窗口的ResourceView面板

691 使用Resource Workshop工具栏

692 理解资源符号

693 使用Resource Workshop Properties对话框

694 理解快捷键

695 添加快捷键到程序中

696 对快捷键消息的反应

697 添加快捷键表格到资源中

698 理解菜单

699 理解菜单项属性

700 向菜单中添加pop-up属性

701 嵌套弹出菜单项

702 增加菜单子项

703 加入菜单提示

704 理解对话框

705 理解模式和非模式对话框

706 理解系统模式对话框

707 创建对话框

708 理解对话框属性

709 向对话框增加控件

710 在类中封装对话框代码

711 在对话框中捕获和使用消息

712 理解位图

713 理解图形控件

714 显示位图

715 操作位图

716 理解光标

717 标准光标

718 使用画图编辑器创建自己的光标

719 在程序中激活光标

720 设置光标的热点

721 使用CWaitCursor

722 理解图标

723 使用默认的图标

724 创建图标

725 分配图标

726 理解字符串表

727 创建字符串表

728 创建字符串表项

729 理解字符串表中的资源ID

730 在字符串表中使用不同的语言

731 理解工具栏

732 使用图形编辑器创建工具栏

733 使用图形编辑器来修改工具栏

734 向工程项目中添加工具栏

735 为工具栏添加文字、工具提示和停靠文字

736 理解可驻留和可浮动的工具栏

737 阻止工具栏在窗口中驻留

738 添加及删除工具栏中的按钮

739 理解版本资源

740 使用版本信息编辑器

741 访问版本信息的Windows函数

742 创建CVersion类

743 及时更新版本信息

744 使用MFC中有关对话框和资源的类

745 理解CDialog类

746 理解数据映射

747 理解数据交换

748 理解数据有效性

749 在对话框类中插入数据类

750 重载CDialog类中的函数

751 处理控件的消息

752 处理IDOK和IDCANCEL消息

753 理解属性表

754 理解属性页

755 使用Apply按钮

756 改变属性表的尺寸

757 理解向导

758 使用Next、Back和Finish按钮

759 激活和禁止Next、Back及Finish按钮

760 对属性表和向导的一些建议

第三十九章 Windows通用对话框

761 理解Windows通用对话框库

762 理解字体选择对话框

763 理解CHOOSEFONT结构

764 直接使用ChooseFont()

765 使用MFC中的CFontDialog类

766 设置CFontDialog中的Font参数

767 返回选择的字体信息

768 理解Color Selection对话框

769 理解CHOOSECOLOR结构

770 直接使用ChooseColor()

771 使用MFC中的CColorDialog类

772 返回颜色信息

773 保存及使用定制的颜色信息

774 理解File Selection对话框

775 理解OPENFILENAME结构

776 直接使用GetOpenFileName()和GetSaveFileName()

777 使用MFC中的CFileDialog类

778 理解CFileDialog构造函数中的各个参数

779 为对话框设置默认的文件名和扩展名

780 理解自定义的过滤串

781 设置对话框的起始目录

782 返回文件信息

783 理解Find和Replace对话框

784 理解FINDREPLACE结构

785 调用FindText()函数

786 理解FINDMSGSTRING消息

787 调用ReplaceText()函数

788 理解IsDialogMessage函数

789 查找并替换文本

790 理解MFC中的CFindReplaceDlalog类

791 使用ON_REGISTERED_MESSAGE消息映射宏

792 使用CFindReplaceDialog类中的函数

793 理解各种打印对话框

794 理解页面设置对话框

795 理解PAGESETUPDLG结构

796 使用CPageSetupDialog类

797 理解打印对话框

798 理解PRINTDLG结构

799 直接调用PrintDlg()函数

800 使用CPrintDialog类

801 不显示打印对话框就取得打印机信息

802 理解打印设置对话框

803 定制通用对话框

804 理解钩子

805 编写钩子过程

806 提供通用对话框的帮助

第四十章 Windows通用控件

807 理解Windows环境下的控作

808 理解通用控件

809 理解通用控件窗口类

810 理解通用控件样式

811 通用控件的Windows通知消息

812 通用控件使用的宏

813 通用控件库使用的结构

814 使用通用控件

815 确定通用控件DLL的修订版本

816 Windows通用控件列表

817 从MFC控件类派生自定义类

第四十一章 基本通用控件

818 理解静态文本控件

819 从CStatic派生自定义类以获取功能

820 使用CStatic类

821 理解编辑框控件

822 使用CEdit类

823 从CEdit派生自定义类

824 添加编辑框控件的消息处理

825 理解按钮控件

826 使用CButton类

827 添加按钮控件的消息处理

828 使用命令更新启用或禁用按钮

829 理解复选框

830 使用下压按钮式复选框

831 理解单选按钮

832 将单选按钮分组

833 使用下压式单选按钮

834 在复选框和单选按钮中使用位图和目标

835 理解分组框控件

836 理解列表框控件

837 使用CListBox类

838 理解列表框消息

839 使用列表框字符串函数

840 使用列表框Dir()函数

841 理解组合框控件

842 使用CComboBox类

843 理解组合框样式

844 理解组合框消息

845 理解滚动条控件

846 在视图中添加滚动条

847 在控件中添加滚动条

848 理解SCROLLINFO结构

849 理解CScrollBar类

850 隐藏和显示滚动条

851 解释滚动条消息

852 使用滚动条作为输入控件

第四十二章 Windows 95及后继版本的通用控件

853 理解32位控件

854 理解图像列表控件

855 建立图像列表

856 在控件中添加图像列表

857 绘制图像列表中的图像

858 管理并操作图像列表

859 理解扩展组合框控件

860 使用CComboBoxEx类

861 在扩展组合框中添加项目

862 在CComboBoxEx中使用CImageList

863 理解CComboBoxEx操作

864 理解Rich Edit控件

865 理解CRichEditCtrl类

866 在Rich Edit控件中进行字符格式化

867 在Rich Edit控件中设置颜色

868 理解Rich Edit事件屏蔽

869 理解Rich Edit控件通知消息

870 理解进度条控作

871 使用CProgressCtl类

872 理解进度条样式

873 设置进度条值域和位置

874 理解进度条操作

875 理解滑动条控件

876 理解CSliderCtrl类

877 使用滑动条控件

878 解释滑动条控件消息

879 理解滑动条控件样式

880 设置Tick Mark

881 使用CSliderCtrl成员函数

882 理解微调控件

883 理解CSpinButtonCtrl类

884 理解微调按钮样式

885 使用CSpinButtonCtri的成员函数

886 解释微调按钮控件消息

887 理解标头控件

888 使用CHeaderCtrl类

889 动态重排列标头域的使用

890 在标头中使热键追踪功能有效

891 在标头中使用图像列表

892 理解列表控件

893 使用CListCtrl类

894 理解列表控作样式

895 在报表视图模式中启用整行选取

896 为列表控件添加项目

897 使用带图像列表的列表控件

898 理解LPSTR_TEXTCALLBACK和I_IMAGECALLBACK样式

899 根据标头域的选择对列表控件排序

900 理解树状控件

901 理解CTreeCtrl类

902 为树状控件添加分支

903 理解树状控件样式

904 在树状控件中使用图像列表

905 展开和折叠分支

906 理解动画控件

907 使用CAnimateCtrl类

908 理解CAnimateCtrl类的成员函数

909 创建动画文件

910 在工程中添加一个AVI动画文件

911 动画的播放、暂停和停止

912 理解标签控件

913 理解CTabCtrl类

914 向标签控件中添加页面

915 在标签控件中使用图像列表

916 在空白标签控件页面上添加控件

917 解释标签控件消息

918 理解状态栏控件

919 使用CStatusBarCtrl类

920 在状态栏控件上设置指示

921 向状态栏中添加控件

922 理解工具栏控件

923 使用CToolBar类

924 在工具栏控件中使用图像列表

925 理解工具提示控件

926 使用CToolTipCtrl类

927 理解热键控件

928 使用CHotKeyCtrl类

929 设置和使用热键

930 理解日期和时间采集控件

931 使用CDateTimeCtrl类

932 理解日期和时间控件样式

933 理解日期和时间格式

934 理解日历控作

935 使用CMonthCalCtrl类

936 定制日历控件

937 理解日历控件属性

938 使用日历消息

939 MFC库中的其他控件类

940 理解位图按钮控件

941 理解IP地址控件

第四十三章 进程和线程

942 理解程序和进程

943 理解exec和spawn

944 处理不成功的exec

945 理解线程

946 使用MFC线程类

947 理解Windows如何调度线程

948 理解线程优先级

949 使用工人线程

950 使用用户接口线程

951 终止和挂起线程

952 从另一个线程终止线程

953 获取线程返回代码

954 挂起和恢复线程

955 在线程之间共享对象

956 同步线程

957 理解互斥量和信号量

958 理解关键段

959 理解事件

960 等待单个事件

961 等待多个事件

962 使用多线程C运行时库

第四十四章 高级专题:异常处理

963 理解ASSERT宏

964 理解异常

965 抛出异常

966 理解try…catch块

967 理解throw语句

968 捕获异常

969 使用多条catch语句

970 处理错误

971 使用异常通知失败的对象

972 理解TRY、CATCH和END_CATCH宏

973 理解CATCH_ALL和END_CATCH_ALL宏

974 理解MFC异常类

975 获取和解释异常类错误信息

976 删除异常对象

977 创建自己的异常类

978 嵌套try…catch块

第四十五章 进程间通信

979 理解进程间通信

980 理解句柄

981 理解进程控制例程

982 理解信号

983 在进程之间使用Windows消息

984 理解排队和非排队消息

985 理解管道

986 使用无名管道进行进程间通信

987 使用CreatePipe()

988 使用命名管道进行进程间通信

989 理解管道操作

990 连接和断开管道

991 关闭管道

992 使用popen函数

993 理解事件作为IPC设备

994 创建命名事件

995 理解信号量作为IPC设备

996 创建和删除信号量

997 使用MFC信号量类

998 锁定和解锁信号量

999 理解映射文件

1000 理解内存映射文件

1001 理解共享内存

本书深入浅出地讲述Visual C++各种编程决窍,以高屋建瓴的眼光看待MFC编程的技巧和思想,详尽分析了具体实现中的技术内幕。本书以其翔实知识面的覆盖、大量实用的示例和作者自身丰富的编程经验,阐述了从C语言编程基础、C++面向对象语法、MFC类库、控件及高级应用、进程和线程到异常处理等各个方面的决窍,是一本系统而全面的编程经典图书。

全书面向实例进行阐述,讲解透彻独到。本书既可作为计算机软件开发人员的技术参考书,也可作为初学者和大专院校师生的自学参考书。

译者序

第一章 编程基础

1 理解软件的概念

2 理解计算机是怎么运行程序的

3 理解低级语言

4 理解高级语言

5 运行一个己解释的程序

6 运行一个己编译的程序

7 C++在哪里

8 理解Visual C++中的程序文件

9 创建源代码文件

10 理解并创建头文件

第二章 结构和语法

11 理解计算机语言

12 理解计算机语言的句法

13 理解“标记”

14 空白在C和C++中的使用

15 理解变量

16 对变量命名

17 理解表达式

18 C/C++中的语句

19 理解程序流

20 深入程序流:理解goto语句

21 深入程序流:理解调用函数

22 理解程序的结构

23 理解C/C++中的函数

24 在函数中书写可重用代码

25 使用库函数

第三章 C编程语言

26 理解数据类型

27 C/C++中的数据类型

28 定义自己的数据类型

29 理解运算符

30 赋值运算符

31 理解一元运算符

32 理解算术运算符

33 其他运算符

34 编译器是怎样计算表达式的

35 使用括号组合运算符

36 理解C/ C++的关键字

37 编译程序引导语句

38 介绍结构和联合

39 介绍C++类

40 C和C++怎样处理结构和联合

第四章 C和C++概念

41 理解命名规则

42 Hungarian Notation系统

43 声明和定义的区别

44 理解声明:对变量的声明

45 理解声明:在函数调用中声明一个变量

46 理解声明:函数的原型化

47 理解#define编译器指令:定义常数

48 理解#define编译器指令:定义宏

49 理解存储类变量:自动变量

50 理解存储类变量:寄存器变量

51 理解存储类变量:静态变量

52 理解存储类变量:类的静态变量

53 引入递归

54 理解循环:排序的问题

55 理解递归:数学问题

56 理解指针

57 理解指针:间接操作

58 理解数组

59 理解字符串作为char类型的数组

60 代码注释

第五章 文件——基本类型

61 Visual C++IDE使用的文件类型

62 理解文本文件和文档文件

63 创建并使用源文件

64 创建并使用头文件

65 使用保护:避免头文件多次被包含

66 理解makefile

67 理解makefile:定义环境变量

68 理解makefile:设置从属关系

69 使用NMAKE.EXE

70 理解可执行文件

第六章 理解字符

71 理解字符:ASCII码字符

72 理解字符:转换ASCII码或称扩展字符集

73 C/C++的转义序列:嵌入不可打印的字符

74 C/C++转义序列:使用反斜线

75 C/C++转义序列:使用百分号来对文本进行格式化

76 使用printf:格式化输出

77 使用Printf:设置字段宽度

78 使用printf:设置精度

79 使用printf:用0和空格填充区域

80 C++ I/O流:cout、cin和cerr

第七章 探索Visual C++环境

81 创建工程项目

82 Visual Studio菜单

83 Visual Studio菜单:File菜单

84 Visual Studio菜单:Eidt菜单

85 Visual Studio菜单:View菜单

86 Visual Studio菜单:Insert菜单

87 Visual Studio菜单:Project菜单

88 Visual Studio菜单:Build和Tools菜单

89 自定义Visual Studio菜单

90 向Tools菜单中添加命令

91 弹出式(或上下文式)菜单

92 探索Visual Studio窗口:Edit窗口

93 探索Visual Studio窗口:Output窗口

94 探索Visual Studio窗口:Variables窗口

95 探索Visual Studio窗口:Watch窗口

96 探索Visual Studio窗口:Hiding、Showing和Docking窗口

97 探索Visual Studio窗口:ClassView面板

98 探索Visual Studio窗口:ResourceView面板

99 探索Visual Studio窗口:FileView面板

100 探索Visual Studio工具栏

101 探索Visual Studio工具栏:它们能干什么

102 探索Visual Studio工具栏:隐藏和显示工具栏

103 探索Visual Studio工具栏:自定义工具栏

104 探索Visual Studo工具栏:创建自己的工具栏

105 在Visual Studio中获取帮助

106 使用Find in Files命令

107 上下文跟踪

108 使用全屏编辑器

109 使用分隔面板查看同一文件中的不同地址

110 使用调试窗口

111 完成程序编辑器

第八章 开始编程

112 从命令行运行编译器

113 创建源文件

114 main()函数

115 向程序中添加头文件

116 使用printf输出文件

117 “Hello,World”:一个简单的命令行C++程序

118 格式化输出族

119 格式化输入

120 三个标准文件:stdin、stdout和stderr

121 使用C++流函数cout、cin和cerr

122 重定向标准输出stdout到一个文件

123 main()的参数:argc和argv

124 使用if语句控制输出

125 打开文件

126 使用文件I/O函数

127 加入while循环

128 向程序中加入函数

129 使用for循环

130 编译命令行选项

131 加入第二个源文件

132 加入头文件

133 创建makefile

134 运行nmake.exe来编译程序

第九章 C++运算符

135 理解运算符类型

136 理解一元运算符:间接运算符(*)

137 理解一元运算符:地址运算符(&)

138 理解一元运算符:自增和自减运算符(++和--)

139 理解一元运算符:取反运算符和补码运算符

140 理解一元运算符:加法和减法运算符

141 理解算术运算符:倍数运算符(“、/和%)

142 理解算术运算符:加运算符(+和-)

143 理解关系运算符:等于运算符(==和!=)

144 理解关系运算符:小于和大于运算符(<和>)

145 理解关系运算符:小于等于和大于等于运算符(<=和>=)

146 理解位运算符:位移运算符(<<和>>)

147 理解位运算符:与运算符(&)

148 理解位运算符:或运算符(|)

149 理解位运算符:异或运算符(^)

150 理解逻辑运算符:与运算符(&&)

151 理解逻辑运算符:或运算符(||)

152 理解赋值运算符:等号运算符(=)

153 理解其他赋值运算符(+=,-=,*=,/=,%=,>>=,<<=,&=,^=,|=)

154 其他运算符:条件运算符(?…:)

155 其他运算符:逗号运算符

156 其他运算符:圆括号

157 其他运算符:引用运算符

158 注意&符号

159 理解C++如何给表达式赋值

160 注意复杂表达式

第十章 编写条件语句

161 在C/C++中编写语句

162 流程控制介绍

163 使用if关键字

164 使用else关键字

165 执行一条单一语句

166 执行作为if语句目标的多条语句

167 组合使用if和else关键字

168 使用多个if条件控制

169 使用条件运算符

170 作用域介绍

171 理解条件语句中的作用域

172 条件语句的一些常见错误

第十一章 程序循环

173 循环介绍

174 用条件语句和goto语句构造循环

175 介绍while循环

176 使用continue和break语句

177 介绍do while循环

178 介绍for循环

179 理解循环内的作用域

第十二章 switch语句

180 理解switch语句

181 使用case和default语句

182 在switch语句内部声明变量

183 在case语句内部声明变量

第十三章 C++语言简介

184 C语言简史

185 向C++转变

186 理解C语言的结构

187 介绍C++的类

188 理解类与结构的相同点和不同点

189 在C和C++中声明变量

190 理解函数原型

第十四章 C/C++中的数组

191 理解数组

192 声明数组变量

193 使用字符串数组

194 使用对象数组

195 理解指向数组的指针

196 访问数组元素

197 理解数组运算

198 递增和递减数组变量

199 声明多维数组

第十五章 宏、常量和预处理命令:定义及使用常量

200 理解常量

201 使用预处理命令#define

202 注意#define语句中的分号

203 声明数值常量

204 声明无值常量

205 理解字符串常量

206 定义数字常量

207 用变量定义常量

208 取消定义常量

209 理解sizeof操作符

210 理解const关键字

211 理解何时使用const和#define

212 用指针修改const常量的值

213 理解volatile关键字

第十六章 使用环境变量

214 理解环境变量

215 获得环境变量的长度

216 获得环境变量的值

217 从环境变量串中获取指针

218 设置环境变量

219 示例:寻找Windows所在的目录

第十七章 头文件

220 理解#include预处理命令

221 理解INCLUDE路径环境变量

222 理解#include<file.h>和#include file.h的区别

223 在头文件中使用卫式定义

224 在大的工程中使用通用头文件

225 把头文件添加到makefile的关联列表中

226 理解当头文件改变时发生什么

第十八章 条件编译

227 理解#if预处理指令

228 理解#endif预处理指令

229 理解#ifdef预处理指令

230 使用#else和#elif预处理指令

231 在命令行中定义常量

第十九章 定义和使用宏

232 理解C/C++中的宏

233 定义宏——又是#define指令

234 理解宏替换

235 用变量定义宏

236 理解编译器对宏的解释

237 理解运行库中的宏

238 示例:求一个数的平方

第二十章 理解编程中字符串的重要性

239 理解字符串和用户接口

240 理解ASCII字符表中大小写字母之间的关系

241 使用位“与”和位“或”来改变字符的大小写状态

242 理解标点字符

243 理解控制字符

第二十一章 C/C++中的字符串

244 理解字符变量类型

245 理解C和C++语言存储字符串的方式

246 理解NUL字符(\0)

247 理解和使用字符串指针

248 获取字符串的大小

第二十二章 声明字符串

249 声明字符型变量

250 定义字符型数组变量

251 定义字符串数组

252 理解动态字符串:new操作

253 理解动态字符串:delete操作

第二十三章 字符串函数

254 理解字符串库函数

255 理解字符串加载函数

256 理解字符串信息函数

257 使用字符串函数复制指定数目的字符

258 在字符串中查找一个字符

259 在字符串中查找一个子串

260 查找字符串中的标记

261 使用strtok()解析一个字符串

262 扩展strtok函数以实现对空标记的解析

263 理解不区分大小写的函数

第二十四章 操作字符串

264 理解sizeof操作符

265 使用sizeof操作来判断字符串的有效长度

266 使用sizeof判断数组中字符串的数量

267 访问字符串中的单个字符

268 动态分配字符串

269 示例:反转一个字符串中的字符

第二十五章 函数和变量

270 理解函数

271 理解C和C++中的函数声明

272 理解函数定义

273 理解函数原型

274 声明和定义返回一个值的函数

275 声明和定义带参数的函数

276 理解函数的默认值

277 理解内联函数

278 理解引用调用和值调用

279 引用调用和值调用的优缺点

280 C/C++中的函数调用

281 理解函数的作用域

282 在函数调用中使用指针

283 理解引用运算符(&)

284 利用引用运算符修改变量

285 函数重载简介

286 理解函数重载

287 理解函数模板

288 使用函数模板和重载函数的选择

289 理解函数指针

290 获取重载函数的地址

291 理解引用函数

292 理解函数和宏之间的区别

293 函数和宏使用上的选择

294 理解变量

295 理解变量类型

296 更改变量类型

297 理解局部变量

298 理解全局变量

299 C++允许在函数体中说明变量

300 理解存储类型

301 理解静态变量

302 定义全局静态变量

303 在程序中定义静态变量

304 创建自己的变量类型:typedef关键字

305 理解变量的作用域

306 理解左值(lvalue)

307 理解NULL

308 理解void类型

309 理解指向变量的指针

310 声明和初始化指向变量的指针

311 理解间接操作:获得指针所指向的值

312 理解指针数组:指向指针的指针

313 初始化指针数组

314 理解转换:暂时修改变量类型

315 自动类型转换:混合int和char类型的变量

316 转换指针:危险的迹象

第二十六章 开始C++:面向对象编程

317 面向对象编程

318 C++:C语言的进一步发展

319 OOP的三个原则

320 理解封装

321 将结构理解成一种封装设备

322 理解C++中的类

323 理解多态性

324 现实世界中的多态性

325 理解多态性的示例:函数重载

326 使用类作为多态性的对象

327 理解继承

328 从上至下的继承

329 使用对象

330 将程序划分成对象

331 一个面向对象编程的示例

第二十七章 C++类

332 理解类的元素

333 理解构造函数

334 把参数传递给构造函数

335 在类中使用多个构造函数

336 理解析构函数

337 理解类中的访问关键字

338 使用访问关键字实施封装

339 保持火药干燥(保持数据成员为私有的)

340 理解基类

341 从基类派生一个新类

342 理解多重继承

343 放置第一块砖:使用基类

344 理解成员函数

345 理解友元类

346 理解友元函数

347 理解虚函数

348 理解抽象类

349 理解嵌套数据类型

350 理解静态成员

351 理解静态函数

352 理解静态数据成员

353 使用静态成员

354 理解作用域分辨

355 理解回调函数

356 理解操作符重载

357 重载操作符

第二十八章 C++I/O

358 使用cin、cout和cerr

359 理解插入符

360 理解提取符

361 理解文件流

362 理解顺序流函数

363 理解随机流函数

364 理解width()、precision()和fill()

365 理解I/O操纵器

366 创建自己的插入符

367 创建自己的提取符

第二十九章 C++数组和指针

368 理解对象指针

369 理解类指针

370 this指针

371 使用malloc()和free()

372 使用new操作符

373 使用delete操作符

374 理解内存泄漏

375 使用派生类指针

376 理解对象指针运算

第三十章 Windows和Visual C++基础

377 理解过程驱动编程

378 理解事件驱动编程

379 介绍控件

380 理解Windows如何与程序交互

381 Windows消息泵

382 响应Windows消息

383 使用模块定义文件

384 理解资源

385 为Windows程序使用生成文件

386 理解WinMain()函数

387 在WinMain()中使用命令行参数

388 理解参数nCmdShow

389 理解程序实例

390 理解窗口类

391 理解WNDCLASS和WNDCLASSEX结构

392 注册窗口类

393 理解窗口组件

394 理解Windows客户区域

395 理解重叠窗口

396 理解弹出式窗口

397 理解子窗口

398 理解标题栏

399 理解系统菜单

400 理解最小化、最大化和关闭窗口按钮

401 理解菜单和工具栏

402 使用滚动条

403 使用资源文件

404 使用资源编译器

405 理解光标和图标

406 理解快捷键

407 在资源文件中使用菜单

408 理解字符串表

409 向资源文件中加入位图

410 理解对话框

411 理解Windows中的键盘输入

412 理解WM_KEYDOWN和WM_KEYUP消息

413 理解WM_CHAR消息

414 理解WM_SYSKEYDOWN、WM_SYSKEYUP和WM_SYSCHAR消息

415 理解插入符号

416 在Windows中使用鼠标输入

417 理解鼠标消息

418 响应鼠标事件

419 判断鼠标键是否按下

420 开发Windows程序

421 编写WinMain()函数

422 创建主窗口

423 使主窗口可见

424 进入消息循环

425 编写响应消息的代码

426 使用Microsoft链接程序

427 理解增量链接

428 理解链接程序选项

429 在生成文件中调用链接程序

430 使用DUMPBIN.EXE和EDITBIN.EXE

第三十一章 图形设备接口

431 理解图形设备接口

432 理解设备环境

433 设备环境和输出设备

434 使用Microsoft Foundation Class的设备环境

435 利用GDI绘图

436 理解屏幕坐标

437 理解客户坐标

438 理解打印机设备环境

439 GDI对象:字体

440 理解字体家族

441 GDI对象:画笔

442 GDI对象:刷子

443 GDI对象:位图

444 GDI对象:调色板

445 GDI对象:区域

446 理解映射

447 理解映射模式

448 理解设备坐标

449 理解逻辑坐标

450 理解绘图模式

451 理解图形和点

452 理解路径

453 使用函数BeginPath()和EndPath()

454 解释WM_PAINT消息

455 使用函数SetPixel()

456 绘制一系列点

457 绘线

458 使用函数MoveToEx()

459 使用函数LineTo()

460 用一系列直线绘制曲线

461 绘制弧线

462 绘制圆和椭圆

463 绘制封闭区域

464 使用笔

465 使用刷子

466 填充一个封闭区域

467 文本规格的介绍

468 了解印刷术

469 了解Windows字体类型

470 理解像素尺寸

471 理解字符宽度

472 理解字符属性

473 理解文本对齐方式

474 使用MFC的CFont类

475 理解创建字体的CFont函数

476 理解文本输出函数

477 使用DrawText()函数

478 使用TextOut()和ExtTextOut()函数

479 使用TabbedTextOut

480 理解GrayString()函数

481 理解文本输出的背景模式

482 旋转文本

483 设置文本和背景颜色

484 用CEdit和CStatic派生出来的类设置文本属性

485 GDI示例:绘制一个字符镜像

第三十一章 Microsoff Foundation Class库

486 了解类库

487 使用类库来创建程序

488 引入Microsoft基础类库

489 MFC是如何在Visual Studio中实现的

490 调用Visual Studio向导创建一个基于MFC的程序

491 引入CObject

492 应用程序结构类

493 用户对象类

494 文件服务类

495 使用设备场景类

496 绘图对象类

497 控件、支持、数据库、菜单、命令行、同步和Socket类

498 数组、列表和映射类

499 Internet服务类

500 窗口类:CWnd介绍

501 理解CWnd子孙类

502 框架窗口类

503 使用CFrameWnd类:单文档界面

504 使用CFrameWnd类:多文档界面

505 使用CSplitterWnd类

506 控作栏类

507 属性表类

508 使用对话框类

509 理解通用对话框类

510 理解属性页类

511 理解用户对话框类

512 理解视图类

513 MFC视图类介绍

514 调用Visual Studio向导创建视图类程序

515 调用Visual Studio向导创建基于对话框的程序

516 文件服务类介绍

517 使用CFile及其子孙类

518 使用内存文件

519 使用Socket文件

520 使用CStdioFile

521 理解CRecentFileList类

522 理解控件类

523 非CObject派生类

524 理解CStrint

525 理解CPoint

526 理解Crect

527 理解CSize

528 理解支持类

529 理解同步(锁)类

530 使用CIntemetConnection

531 使用CFtpConnection

532 理解CRuntimeClass

533 理解文档类

534 理解异常类

536 使用工具栏类

537 用MFC类实现打印和打印预览

538 理解线程类

539 理解命令操作器:CCmdUI类

540 理解CWaitCursor类

541 使用CImageList类

542 从MFC类库派生自定义类

第三十三章 Developers Studio向导:创建工程

543 理解New菜单命令

544 创建文件

545 创建工作区

546 创建其他文档

547 创建工程

548 理解小工程

549 理解MFC AppWizard

550 创建MFC EXE工程

551 在工程中加入多文档支持

552 理解文档/视图支持

553 理解数据库支持

554 在工程中加入复合文档支持、ActiveX和Automation

555 选择工程特色

556 理解工具栏选项

557 理解高级选项

558 其他工程选项

559 最后一步:为类命名和选择视图类

560 创建基于对话框的工程

561 为基于对话框的工程选择特色和支持选项

562 选择对话框选项

563 使用MFC创建DLL工程

564 创建Win32库

第三十四章 ClassWizard

565 ClassWizard介绍

566 ClassWizard的调用

567 使用ClassWizard对话框

568 理解Message Maps页

569 使用ClassWizard添加消息处理函数

570 理解Member Functions窗口

571 使用ClassWizard删除消息处理函数

572 理解Member Variables页

573 在程序中增加变量

574 从程序中删除变量

575 理解Update Colums和Bind All按钮

576 理解Automation页

577 为自动化类添加方法

578 为自动化类添加属性

579 理解ActiveX页

580 理解Class Info页

581 使用ClassWizard添加类

582 使用ClassWizard从类库添加类

583 在程序中加入通用类

584 添加代码和使用ClassWizard导航代码

第三十五章 向导栏

585 理解向导栏

586 显示和隐藏工具栏

587 理解向导栏组合框控件

588 理解向导栏动作控件

589 理解向导栏动作菜单

590 调用动作菜单

591 理解目录跟踪

592 使用向导栏添加类

593 使用向导栏添加消息处理函数

594 添加虚函数

595 在类中添加成员函数

596 在工程中添加窗口

597 在源文件间切换

598 在函数定义和声明间切换

599 在类之间移动

600 在向导栏内从一个函数移到另一函数

601 打开#include文件

602 使用Find in Files

603 使用窗口列表按钮

604 使用搜索按钮

605 使用工作区和输出窗口按钮

606 理解工作区窗口

607 使用ClassView面板

608 使用ResourceView面板

609 使用FileView面板

第三十六章 文档和视图

610 理解文档/视图结构

611 理解文档对象

612 理解视图对象

613 理解文档/视图结构中的窗口框架

614 理解文档管理器

615 理解文档模板

616 在工程中加入多文档类型

617 理解文档/视图中的Windows消息路径

618 理解默认消息

619 重载框架消息处理函数

620 理解CArchive类

621 使用串行化函数

622 理解CView

623 重载OnPaint消息处理函数

624 在CView中显示文本

625 在CView中绘制图形对象

626 使用CScrollView类

627 使用CEditView类

628 在编辑视图中插入文本

629 理解插入和覆盖模式

630 在编辑视图中加入覆盖模式

631 使用编辑视图保存和恢复文本文件

632 使用CRichEditView类

633 使用CRichEditView创建工程

634 理解复合文档支持

635 理解OLE容器支持

636 理解服务器和最小服务器支持

637 添加菜单和工具栏项以支持多文本

638 理解多文本编辑控件中的字符属性

639 理解CHARFORMAT和CHARFORMAT2结构

640 改变字体

641 改变多文本编辑文档视图中的默认字体

642 为文本设置粗体

643 为文本设置斜体、下划线和删除线

644 设置字体和背景颜色

645 设置段落对齐

646 在格式栏中添加字体和字号框

647 在多文本编辑视图中添加用户和文件信息

648 使用串行化保存与恢复用户信息和文件信息

649 使用CListView类

650 理解带CListView的CImagelist类

651 创建图像列表

652 在列表控件中显示不同的样式

653 增加工具栏来改变显示样式

654 使用LVS_OWNERDRAWFIXED样式

655 使用自主绘图属性产生整行选择

656 使用CTreeView类

657 组合CTreeView、CListView和CSplitterWnd创建一个资源管理器类型的应用程序

658 在资源管理器类型的应用程序右面板里使用其他代替视图

659 使用CFormView类

660 创建基于表单的应用程序

661 向程序中插入新的表单

662 在程序中使用多重视图

663 向文档中添加视图

664 从文档中删除视图

665 创建其他视图类:CCtrlView

666 使用CSplitterWnd实现多重视图

667 切分一个分割窗口

668 联合使用CSplitterWnd和文档视图

669 通过改写InitInstance函数避免创建初始化文档

670 理解永久保存数据机制

671 保存状态栏中的信息

672 更新与同一文档关联的多个视图

第三十七章 调试技术

673 使用Visual Studio Debugger

674 设置工程项目选项

675 使用调试窗口

676 设置和使用断点

677 单步执行程序

678 调试命令行程序

679 使用Edit and Continue进行调试

680 输出到Output窗口

681 理解远程调试

682 建立远程调试器

683 在远程和本地调试间切换

684 理解实时调试

685 有用的调试技术

686 使用CMemoryState类来检查内存泄漏

第三十八章 Resource Workshop

687 理解Windows资源

688 使用Resource Workshop

689 理解资源编译器

690 理解Workspace窗口的ResourceView面板

691 使用Resource Workshop工具栏

692 理解资源符号

693 使用Resource Workshop Properties对话框

694 理解快捷键

695 添加快捷键到程序中

696 对快捷键消息的反应

697 添加快捷键表格到资源中

698 理解菜单

699 理解菜单项属性

700 向菜单中添加pop-up属性

701 嵌套弹出菜单项

702 增加菜单子项

703 加入菜单提示

704 理解对话框

705 理解模式和非模式对话框

706 理解系统模式对话框

707 创建对话框

708 理解对话框属性

709 向对话框增加控件

710 在类中封装对话框代码

711 在对话框中捕获和使用消息

712 理解位图

713 理解图形控件

714 显示位图

715 操作位图

716 理解光标

717 标准光标

718 使用画图编辑器创建自己的光标

719 在程序中激活光标

720 设置光标的热点

721 使用CWaitCursor

722 理解图标

723 使用默认的图标

724 创建图标

725 分配图标

726 理解字符串表

727 创建字符串表

728 创建字符串表项

729 理解字符串表中的资源ID

730 在字符串表中使用不同的语言

731 理解工具栏

732 使用图形编辑器创建工具栏

733 使用图形编辑器来修改工具栏

734 向工程项目中添加工具栏

735 为工具栏添加文字、工具提示和停靠文字

736 理解可驻留和可浮动的工具栏

737 阻止工具栏在窗口中驻留

738 添加及删除工具栏中的按钮

739 理解版本资源

740 使用版本信息编辑器

741 访问版本信息的Windows函数

742 创建CVersion类

743 及时更新版本信息

744 使用MFC中有关对话框和资源的类

745 理解CDialog类

746 理解数据映射

747 理解数据交换

748 理解数据有效性

749 在对话框类中插入数据类

750 重载CDialog类中的函数

751 处理控件的消息

752 处理IDOK和IDCANCEL消息

753 理解属性表

754 理解属性页

755 使用Apply按钮

756 改变属性表的尺寸

757 理解向导

758 使用Next、Back和Finish按钮

759 激活和禁止Next、Back及Finish按钮

760 对属性表和向导的一些建议

第三十九章 Windows通用对话框

761 理解Windows通用对话框库

762 理解字体选择对话框

763 理解CHOOSEFONT结构

764 直接使用ChooseFont()

765 使用MFC中的CFontDialog类

766 设置CFontDialog中的Font参数

767 返回选择的字体信息

768 理解Color Selection对话框

769 理解CHOOSECOLOR结构

770 直接使用ChooseColor()

771 使用MFC中的CColorDialog类

772 返回颜色信息

773 保存及使用定制的颜色信息

774 理解File Selection对话框

775 理解OPENFILENAME结构

776 直接使用GetOpenFileName()和GetSaveFileName()

777 使用MFC中的CFileDialog类

778 理解CFileDialog构造函数中的各个参数

779 为对话框设置默认的文件名和扩展名

780 理解自定义的过滤串

781 设置对话框的起始目录

782 返回文件信息

783 理