第0章 绪论 1
0.1 你应该知道的知识 2
0.2 Visual C++历史简介 2
0.3 本书的内容 3
0.3.1 第1部分—基础 3
0.3.2 第2部分—编辑器 4
0.3.3 第3部分—编程辅助 4
0.3.4 第4部分—高级专题 4
0.3.5 第5部分—附录 5
0.4 例子代码 5
0.5 附带的CD 5
0.7 进一步的阅读 6
0.6 一些定义 6
0.8 反馈 7
第一部分 基础 11
第1章 Developer Studio 11
1.1 工具栏和菜单 12
1.2 Developer Studio窗口 14
1.2.1 Workspace和 Output窗口 16
1.3 联机帮助 19
1.4 InfoViewer 20
1.4.1 InfoViewerTopic和Results List窗口 22
1.4.2 从InfoViewer得到帮助 24
1.4.3 InfoViewer书签 30
1.5 在Developer Studio外工作 31
2.1 AppWizard的优点 32
第2章 AppWizard 32
2.2 运行AppWizard 34
2.2.1 第1步:程序界面 34
2.2.2 第2步:数据库支持 36
2.2.3 第3步:OLE和ActiveX支持 39
2.2.4 第4步:界面特性 40
2.2.5 第5步:使用MFC库 44
2.2.6 第6步:类和文件名 46
2.3 用AppWizard创建DLL 48
第3章 文本编辑器 53
3.1 启动文本编辑器 53
第二部分 编辑器 53
3.2.1 打开文档 55
3.2.2 察看文档 57
3.2.3 保存文档 59
3.2.4 打印文档 60
3.3 在文档中移动 61
3.3.1 在虚空白中移动 62
3.3.2 匹配分界符 63
3.3.3 书签 64
3.4 查找文本 65
3.4.1 在打开的文档中查找文本 65
3.4.2 替换文本 66
3.4.3 在磁盘文件中查找文本 67
3.4.4 用正则表达式查询 68
3.5 高级选项 69
3.6 未结合的命令 70
3.6.1 为命令创建工具栏按钮 72
3.7 宏 73
3.8 定制编辑器 74
3.9 在Developer Studio外编辑文本 75
第4 章 资源 77
4.1 系统资源 77
4.2 资源脚本文件RC 78
4.3 Resource.h头文件 80
4.4 AppWizard资源的例子 82
4.5 介绍DiskPie1例子程序 82
4.6 菜单和加速键 84
4.6.1 为DiskPie1创建菜单 87
4.6.2 为DiskPie1创建加速键 93
4.7 字符串资源和状态栏 96
4.7.1 字符串资源 96
4.7.2 提示字符串和Tooltip 97
4.7.3 文档字符串 98
4.7.4 为DiskPie1创建字符串资源 100
4.8 位图、图标、光标和工具栏 102
4.8.1 位图 106
4.8.2 工具栏 108
4.8.3 为DiskPie1创建工具栏 110
4.8.4 图标 112
4.8.5 为DiskPie1创建图标 114
4.8.6 鼠标光标 116
4.9 向DiskPie1增加代码 118
4.10 未结合的命令(补充) 136
4.11 整理资源数据 137
4.11.1 DiskPie2程序 138
第5章 对话框和控制 146
5.1 对话框脚本 146
5.2 对话框编辑器 148
5.2.1 Controls工具栏 150
5.2.2 选择和排列控制 150
5.2.3 Dialog工具栏 152
5.2.4 控制的属性 155
5.2.5 跳格顺序 157
5.3 例1:修改About对话框 158
5.4 例2:简单的无模式对话框 160
5.5 例3:向AppWizard程序增加对话框 171
5.5.1 第1步:运行AppWizard来创建MfcTree项目 172
5.5.2 第2步:创建MfcTree对话框 172
5.5.3 第3步:为CMfcDlg类增加源文件 173
5.5.4 第4步:修改菜单 175
5.5.5 第5步:增加所需的源代码 175
5.6 基于对话框的应用程序 178
5.6.1 例4: MfcTree的基于对话框的版本 179
5.6.2 例5:不用AppWizard的基于对话框的应用程序 181
第6章 ClassWizard 199
6.1 访问ClassWizard 199
第三部分 编程辅助 199
6.2 ClassWizard对话框 200
6.2.1 Message Maps标签 201
6.2.2 Member Variables标签 202
6.2.3 向项目增加表 206
6.3 WizardBar 209
6.4 ClassWizard如何识别类 212
6.5 用ClassWizard创建对话框类 213
第7章 Gallery 217
7.1 例子:增加属性页 218
7.2 例子:增加闪烁屏幕和时钟 220
7.3 创建定制的部件 221
7.3.1 例子:目录列表的定制部件 223
7.3.2 例子:DirList2程序 232
第四部分 高级话题 247
第8章 使用Activex控件 247
8.1 一点儿背景知识 248
8.2 包容器 249
8.2.1 将ActiveX控件加到网页中 252
8.2.2 Test Contaiuer程序 253
8.2.3 将ActiveX控件加入对话框 255
8.3 包容器和ActiveX控制之间的通讯 259
8.3.1 事件 261
8.3.2 方法 262
8.3.3 属性 263
8.4 编写包容器应用程序 265
8.4.1 第1步:用AppWizrd创建Hour项目 267
8.4.2 第2步:将Timer Object控件加入项目 267
8.4.3 第3步:把Timer Object控件放入Hour对话框 268
8.4.4 第4步:将代码加入Hour.cpp和Hour.h文件 269
8.4.5 第5步:建立和检测项目 272
第9章 编写ActiveX控件 273
9.1 用于创建ActiveX控件的Visual C++工具 273
9.2 ControlWizard 275
9.3 许可 279
9.3.1 ControlWizard许可支持 281
9.4 例1:一个什么都不做的ActiveX控件 284
9.5 例2:Tower ActiveX控件 286
9.5.1 第1步:创建Tower项目 287
9.5.2 第2步:加入属性 287
9.5.3 第3步:加入方法 290
9.5.4 第4步:加入事件 290
9.5.5 第5步:加入消息处理器函数 292
9.5.6 第6步:创建一个属性页 292
9.5.7 第7步:加入源代码 293
9.5.8 第8步:建立并检测Tower ActiveX控件 304
9.6 把属性页加入ActiveX控件项目中 306
第10章 调试器 309
10.1 Debug与Release 309
10.2 使用调试器 310
10.4 断点如何把控制返回给调试器 311
10.3 断点 311
10.5 建立一个调试版本 314
10.6 调试器界面 315
10.6.1 Breakopints对话框 316
10.6.2 运行调试器 320
10.6.3 调试器窗口 321
10.6.4 在程序中单步 323
10.6.5 停止和重新启动调试器* 325
10.7 例子;开发和调试ShockWave程序 326
10.7.1 开发ShockWave 326
10.7.2 调试ShockWave 334
10.8 特殊的调试情形 339
10.8.1 调试异常 340
10.8.3 调试OLE/ActiveX应用程序 341
10.8.2 调试线程 341
10.8.4 用两台计算机进行调试 342
第11章 编译器优化 345
11.1 优化初步 345
11.1.1 优化技术 347
11.2 优化开关 356
11.2.1 General类 357
11.2.2 Code Generation类 359
11.2.3 Customize类 363
11.2.4 Optimizations类 364
11.3 从调试到发布 365
11.4 Visual C++的性能测试 367
12.1 Options对话框 372
第12章 定制Developer Studio 372
12.2 Customize对话框 375
12.3 工具栏 379
12.3.1 定制工具栏 380
12.4 在Tools菜单中增添命令 382
12.4.1 命令行参数 384
12.4.2 参数宏 384
12.4.3 例子:ProtoAPI应用工具 386
12.5 宏 389
12.5.1 例子:列搜索和替换宏 390
12.6 Developer Studio 的嵌入 395
12.7 通过系统Registry定制 400
附录A ASCII和ANSI文件格式 405
第五部分 附录 405
附录B ClassWizard支持的MFC类 409
附录C VBScript入门 412
C.1 变量 413
C.1.1 数组 414
C.1.2 字符串 414
C.2 运算符 415
C.3 程序流控制 415
C.3.1 循环 416
C.3.2 过程 417
C.4 对象 419
C.5 调试VBSeript宏 421
C.6 库函数 421