前言 1
编者的话 1
第一部分 基础篇 1
第1章 Visual C++6.0的概述和安装 1
1.1 Microsoft Visual C++6.0概述 1
1.2 Visual C++6.0的安装 1
1.3 本章小结 2
第2章 Visual C++6.0集成开发环境 4
2.1 Visual C++6.0集成开发环境的启动及其概貌 4
2.1.1 Visual C++6.0集成开发环境的启动 4
2.1.2 VC集成开发环境简介 4
2.2 IDE菜单介绍 5
2.2.1 File菜单 6
2.2.2 Edit菜单 9
2.2.3 View菜单 10
2.2.4 Insert菜单 15
2.2.5 Project菜单 17
2.2.6 Build菜单 19
2.2.7 Debug菜单 21
2.2.8 Tools菜单 24
2.2.9 Windows菜单 26
2.2.10 Help菜单 27
2.3 本章小结 28
第3章 面向对象程序设计和C++简介 29
3.1 面向对象技术概述 29
3.2 封装性 31
3.3 继承性 33
3.4 多态性 35
3.5.3 范围分解操作符 38
3.5.2 声明语句 38
3.5.1 注释语句 38
3.5 C++新特性 38
3.5.4 内嵌函数 39
3.5.5 缺省函数参数 39
3.5.6 引用类型 40
3.5.7 常量类型 41
3.5.8 重载函数 42
3.5.9 动态分配内存 42
3.6 定义C++类 43
3.6.1 定义类 43
3.6.2 派生C++类 46
3.7 本章小结 46
第4章 利用VC集成环境生成程序 47
4.1 生成项目 47
4.2 生成和编辑源文件 48
4.3 建立程序 50
4.4 运行程序 51
4.5 调试应用程序 52
4.6 本章小结 53
第5章 Windows编辑基础 54
5.1 Windows的历史 54
5.2 Windows的窗口和控件 55
5.3 Windows内部引擎 58
5.3.1 事件驱动模型和消息循环 58
5.3.2 多任务机制的内幕——进程和线程 60
5.3.3 应用程序共享的资源——动态链接库技术 62
5.3.4 Windows内存管理技术 62
5.4 编写一个Windows程序 63
5.4.1 Windows应用程序设计接口(API)和开发工具包(SDK) 63
5.4.2 用Windows API编写一个最小的Windows程序 64
5.5 本章小结 70
6.1 MFC的演变 71
第二部分 应用篇MFC编程 71
第6章 MFC编程基础 71
6.2 MFC类库层次 72
6.3 CObject类 76
6.4 从Cobject中派生出来的主要类 78
6.4.1 应用程序结构类 78
6.4.2 调试和异常类 79
6.4.3 文件服务类 79
6.4.4 图形处理类 80
6.4.6 数据库类 80
6.4.7 同步类 81
6.4.8 集合类 81
6.4.9 Internet支持类 81
6.4.10 非Cobject派生类 82
6.5 一个最简单MFC程序的分析 82
6.6 本章小结 83
第7章 MFC的消息和消息处理 85
7.1 MFC事件驱动程序设计的引擎—CwinApp类 85
7.2 消息映象和消息处理 89
7.2.1 消息 89
7.2.2 MFC的消息映象及消息处理方法 92
7.2.3 MFC预定义的消息和消息处理程序 93
7.3 一个简单的消息映像例程 100
7.4 本章小结 102
第8章 基本输入处理 103
8.1 鼠标消息及其处理 103
8.1.1 用户区鼠标消息 103
8.1.2 非用户区的消息 105
8.1.3 鼠标捕捉 107
8.2 键盘和键盘消息处理 108
8.2.2 按键消息及其处理 109
8.2.1 键盘消息 109
8.2.3 字符消息及其处理 111
8.3 鼠标键输入应用实例 112
8.4 本章小结 120
第9章 设备描述表和图形对象 121
9.1 设备描述表与图形设备接口 121
9.2 MFC设备描述类——CDC类 122
9.3 CDC的派生类 123
9.3.1 CPaintDC类 123
9.3.2 CClientDC类 126
9.3.3 CWindowDC类 127
9.4 图形对象 128
9.4.1 笔——Cpen类 128
9.4.2 刷子——CBrush类 131
9.5.1 画图的坐标系统 133
9.5 用CDC的绘图函数与图形对象绘图 133
9.5.2 Timer 134
9.5.3 “活泼的格子”——CDC绘图例程1 136
9.5.3 “MFC世界的晚霞”—CDC绘图例程2 140
9.5.4 “多彩的网络世界”—CDC绘图例程3 143
9.6 用CDC输出文字 145
9.7 本章小结 152
第10章 文件输入与输出 153
10.1 文件与Cfile()类 153
10.1.1 构造函数类函数 156
10.1.2 输入输出方法 158
10.1.3 文件定位函数 159
10.1.4 其他CFile类成员函数 160
10.2 CFile的派生类 161
10.2.1 CStdioFile类 161
10.2.2 CMemFile类 164
10.2.3 CSharedFile类 166
10.3 一个基本文件操作的例程 167
10.4 本章小结 170
第三部分 资源和控件 171
第11章 图标和光标 171
11.1 资源 171
11.2 图标(ICON) 172
11.2.1 创建图标 173
11.2.2 在工程中加入图标资源 174
11.2.3 在程序中使用图标资源 176
11.3 光标资源 179
11.3.1 创建光标 179
11.3.2 将光标加入应用程序 180
11.4 一个使用图标和动画光标的例程 181
11.5 本章小结 185
第12章 菜单、快捷键及字符串表 186
12.1 菜单的使用 186
12.1.1 菜单消息 187
12.1.2 用菜单编辑器生成菜单资源 187
12.1.3 在应用程序中使用主菜单 191
12.1.4 非主菜单资源的加载过程 193
12.2 快捷键 198
12.3 字符串表 200
12.4 状态栏 202
12.5 包装字体例程 205
12.6 本章小结 215
第13章 对话框 216
13.1 对话框的基本概念 216
13.2 CDialog类和创建对话框的一般过程 216
13.3.1 用资源编辑器生成对话框 220
13.3 一个最简单的对话框 220
13.3.2 使用对话框 224
13.4 命令按键 229
13.5 按钮类——CButton 231
13.6 带图标的按钮——CBi?Button 234
13.7 在对话框中使用CButton类 237
13.8 通用对话框概述 246
13.9 选择色彩对话框——CColorDialog 247
13.10 文件操作对话框——CFileDialog 250
13.11 查询替换对话框——CFindReplaceDialog 254
13.12 选择字体对话框——CFontDialog 258
13.13 打印设置对话框——CPrintDialog 261
13.14 页面设置对话框——CPageSetupDialoge 265
13.15 公用对话框例程 268
13.16 本章小结 278
14.1 编辑控件支持类——CEdit 280
第14章 编辑控件和对话框数据交换技术 280
14.1.1 编辑控件的消息 283
14.1.2 CEdit类及其成员函数 284
14.2 一个简单的编辑器—CEdit应用例程 287
14.3 对话框数据交换(DDX)和验证(DDV)技术 293
14.3.1 对话框数据交换(DDX) 293
14.3.2 对话框验证(DDV) 295
14.3.3 DDX和DDV在对话框中的实现 296
14.3.4 DDX和DDV的内部支持类—CDateExchange 297
14.4 用编辑控制实现多种类型的数据输入 298
14.5 本章小结 306
第15章 列表框、组合框 307
15.1 列表控件和 CListBox类 307
15.1.1 列表控件的MFC支持类—CListBox 308
15.1.2 使用资源编辑器建立ListBox 312
15.1.3 CListBox的方法 313
15.1.4 列表框消息 315
15.2 列表框应用实例 315
15.3 组合框控件和CComboBox类 324
15.3.1 组合框控件的MFC支持类——CComboBox 324
15.3.2 利用资源编辑器建立ComboBox 328
15.3.3 CComboBox方法 330
15.3.4 组合框消息 331
15.4 组合框应用实例 332
15.5 本章小结 338
第16章 工具条资源和滚动控件 339
16.1 工具条和工具提示 339
16.1.1 工具条的MFC支持类—CToolBar 340
16.1.2 使用资源编辑器创建ToolBar 347
16.1.3 工具提示 351
16.1.4 使用工具条的一个应用程序框架 352
16.1.5 工具条使用的提高—OtoolBarCtrl类 357
16.2 微调控件及其支持类Cspin 364
16.2.1 微调控件的MFC支持类—CSpinButtonCtrl 364
16.2.2 使用资源编辑器创建SpinButtonCtrl 368
16.2.3 使用微调控件的例程 370
16.3 滚动控件及其支持类CscorlIbar 375
16.3.1 滚动条控件的MFC支持类—CScrollBar 376
16.3.2 使用资源编辑器创建ScrollBar 380
16.3.3 使用滚动控件的例程 382
16.4 滑动控件及其支持类CSliderctrl 386
16.4.1 滑动控件的MFC支持类—CSliderCtrl 386
16.4.2 使用资源编辑器创建SliderCtrl 391
16.4.3 使用滚动控件的例程 392
16.5 本章小结 396
17.1.1 MFC中的WinMain()-CwinApp类 397
17.1 应用程序和主窗口模型 397
第17章 MFC的应用程序框架 397
第四部分 提高篇 397
17.1.2 MFC中的基本框架窗口—CFrameWnd类 398
17.2 基于对话框的应用程序框架 402
17.2.1 建立对话框应用程序框架的基本步骤 402
17.2.2 第一个基于对话框的应用程序 403
17.3 文档/视图结构的应用程序框架 405
17.3.1 文档和CDocument类 405
17.3.2 视图和Cview类 410
17.3.3 Cview支持的打印/打印预览 415
17.3.4 文档/视图结构的管理——文档模板和CDocTemplate类 419
17.3.5 文档/视图结构应用程序的消息循环和消息处理 422
17.3.6 文档/视图结构的应用程序示例 424
17.4 MDI-多文档接口程序的文档/视图结构 441
17.5 本章小结 453
18.1 全方位提供服务的Wizard 454
第18章 VC编程自动化——AppWizard和ClassWizard 454
18.2 AppWizard的应用 456
18.3 使用CLassWizard为应用程序增加功能 459
18.4 本章小结 463
第19章 VC辅助工具的使用 464
19.1 Spy应用程序的使用 464
19.1.1 Spy工具简介 464
19.1.2 Spy++菜单 465
19.1.3 利用Spy++监视应用程序消息 470
19.2 Stress Utility的使用 471
19.2.1 如何调出Stress Utility程序 472
19.2.2 Settings菜单 472
19.2.3 Options菜单 474
19.2.4 利用Stress监测程序 475
19.3 本章小结 476