第0章 绪论 1
0.1你应该知道的知识 2
0.2 VisualC++历史简介 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.2Developer Studio窗口 14
1.2.1Workspace和Output窗口 16
1.3联机帮助 19
1.4InfoViewer 20
1.4.1InfoViewerTopic和Results List窗口 22
1.4.2从InfoViewer得到帮助 24
1.4.3InfoViewer书签 30
1.5在Developer Studio外工作 31
2.1AppWizard的优点 32
第2章 AppWizard 32
2.2.1第1步:程序界面 34
2.2运行AppWizard 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
第二部分 编辑器 53
第3章 文本编辑器 53
3.1启动文本编辑器 53
3.2.1打开文档 55
3.2文档 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.3Resource.h头文件 80
4.4AppWizard资源的例子 82
4.5介绍DiskPiel例子程序 82
4.6菜单和加速键 84
4.6.1为DiskPiel创建菜单 87
4.6.2为DiskPiel创建加速键 93
4.7 字符串资源和状态栏 96
4.7.1 字符串资源 96
4.7.2 提示字符串和Tooltip 97
4.7.3 文档字符串 98
4.7.4 为DiskPiel创建字符串资源 100
4.8 位图、图标、光标和工具栏 102
4.8.1 位图 106
4.8.2 工具栏 108
4.8.3 为DiskPiel创建工具栏 110
4.8.4 图标 112
4.8.5 为DiskPiel创建图标 114
4.8.6 鼠标光标 116
4.9 向DiskPiel增加代码 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.1访问ClassWizard 199
第6章 ClassWizard 199
第三部分 编程辅助 199
6.2 ClassWizard对话框 200
6.2.1Message Maps标签 201
6.2.2Member 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步:用AppWizard创建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控件的VisualC++工具 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 Breakpoints对话框 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 Ceneral类 357
11.2.2 Code Ceneration类 359
11.2.3 Customize类 363
11.2.4 Optimizations类 364
11.3从调试到发布 365
11.4Visual 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调试VBScript宏 421
C.6库函数 421