第一章 Borland C++5.0概述 3
1.1 Borland C++5.0的安装 4
1.1.1 硬件和软件环境要求 4
1.1.2 安装 4
1.2 Borland C++5.0的组成 7
1.3 Borland C++5.0的新特色 8
1.4 本章小结 10
第二章 使用Borland C++5.0创建应用程序的过程 11
2.1.1 IDE的启动 12
2.1 集成开发环境(IDE) 12
2.1.2 文本编辑器 13
2.1.3 TargetExpert(目标专家) 14
2.1.4 AppExpert(应用程序专家) 15
2.1.5 ClassExpert(类专家) 16
2.1.6 资源编辑器 17
2.1.7 快速菜单 17
2.1.8 项目管理器 19
2.1.9 调试器 20
2.1.10 联机帮助 22
2.2 创建一个DOS程序 23
2.3.1 Windows程序相对DOS程序的优越性 27
2.3 创建一个32位Windows程序 27
2.3.2 用标准C编写的Windows程序的结构 28
2.3.3 创建32位Windows程序的步骤 31
2.4 本章小结 33
第三章 C++语言与面向对象编程 35
3.1 面向对象方法的基本概念 36
3.1.1 类和对象 36
3.1.2 面向对象方法比结构化方法的优越性 36
3.1.3 抽象性(Abstraction) 36
3.1.5 继承性(Inheritance) 37
3.1.6 多态性(Polymorphism) 37
3.1.4 封装性(Encapsulation) 37
3.2 从结构化编程到面向对象编程 38
3.3 C++在传统过程语言方面对C的扩展 39
3.3.1 注释 39
3.3.2 用户自定义类型的命名 39
3.3.3 变量声明的位置 40
3.3.4 函数的声明 40
3.3.5 内联函数 41
3.3.6 带缺省参数的函数 41
3.3.7 函数重载 42
3.3.8 引用 43
3.3.9 动态内存管理 43
3.4.1 类 44
3.4 类和对象 44
3.4.2 对象 46
3.4.3 构造函数 48
3.4.4 析构函数 50
3.4.5 内联成员函数 52
3.4.6 成员函数的重载及缺省参数 54
3.4.7 指向对象的指针this 55
3.5 继承性和派生类 57
3.5.1 单一继承 57
3.6.1 运算符重载和函数重载 60
3.6 多态性和虚函数 60
3.5.2 多重继承 60
3.6.2 虚函数 62
3.7 本章小结 64
第四章 OWL5.0简介 65
4.1 使用OWL5.0编写的一个简单程序 66
4.2 OWL5.0的新特点 68
4.3 OWL5.0的类层次体系 71
4.4 应用程序类 72
4.4.1 应用和模块对象类 72
4.4.2 应用程序对象的产生 72
4.5.2 界面对象的建立 73
4.5.1 界面对象的作用 73
4.5 界面对象与界面元素 73
4.5.3 界面对象的删除 74
4.5.4 定义窗口属性 74
4.5.5 父窗口和子窗口 76
4.6 事件处理与消息响应表 76
4.6.1 响应表的声明 77
4.6.2 响应表的定义 77
4.6.3 响应表入口的定义 78
4.6.4 消息响应函数 80
4.7 本章小结 80
第五章 程序框架和菜单 81
5.2 实用程序GRF2D的开发目标 82
5.1 程序框架和详细设计 82
5.3 GRF2D程序框架的生成——使用AppExpert 83
5.4 编辑资源——使用资源编辑器 86
5.4.1 修改应用程序的图标 86
5.4.2 程序框架的内含菜单 89
5.4.3 修改菜单、快捷键和加速键 90
5.5 事件处理——使用ClassExpert 94
5.5.1 ClassExpert界面 94
5.5.2 命令消息的处理 96
5.5.3 菜单项的允许和禁止 98
5.5.4 给菜单项作标记 100
5.5.5 菜单项文本的刷新 104
5.6 GRF2D源代码 106
5.7 本章小结 128
第六章 对话框 129
6.1 模式和无模式对话框 130
6.2 标准对话框和对话框类 131
6.3 创建对话框的一般过程 133
6.3.1 对话框模板 133
6.3.2 建立TDialog的派生类 134
6.3.3 构造对话框对象 136
6.3.4 创建对话框界面元素 136
6.4.1 普通按钮 137
6.4 对话框控制 137
6.4.2 单选框和复选框 138
6.4.3 编辑框 138
6.4.4 列表框 138
6.4.5 组合框 138
6.4.6 控制与对话框对象的通信 140
6.5 对话框资源的编辑 141
6.5.1 对话框资源框架 141
6.5.2 添加和修改控制资源 143
6.5.3 GRF2D中的对话框资源 145
6.6.1 演示性对话框“连词成句” 147
6.6 GRF2D中的对话框的创建和使用 147
6.6.2 对话框所操纵的函数绘图参数 152
6.6.3 与绘图有关的三个对话框 153
6.7 GRF2D源代码 156
6.8 本章小结 188
第七章 GDI绘图 189
7.1 映射模式 190
7.2 设备描述表及其在绘图中的作用 191
7.3 GDI对象类 192
7.3.1 设备描述表对象类 192
7.3.3 颜色的使用 193
7.3.2 图形对象类 193
7.4 使用OWL的GDI绘图 194
7.5 在GRF2D中实现GDI绘图 197
7.6 位图的编辑 200
7.7 用内存设备描述表绘图 216
7.7.1 位图 217
7.7.2 内存设备描述表 217
7.7.3 在GRF2D中使用内存设备描述表 218
7.8 将位图保存为磁盘文件 221
7.9 GRF2D源代码 223
7.10 本章小结 244
第八章 滚动条 245
8.1 添加滚动条 246
8.2 滚动条参数的设置 248
8.3 滚动条对全局定位的影响 249
8.4 GRF2D源代码 249
8.5 本章小结 262
第九章 工具栏和状态栏 263
9.1 工具栏和状态栏的位置和作用 264
9.2 添加工具栏 265
9.3 添加状态栏 266
9.4 程序运行状态的显示 270
9.5 GRF2D源代码 274
9.6 本章小结 296
第十章 MDI应用程序的建立 297
10.1 多文档界面(MDI)的特点 298
10.2 创建MDI应用程序的步骤 300
10.3 MDI应用程序框架的生成 301
10.4 GRF2D从SDI到MDI的代码移植 306
10.4.1 修改资源 306
10.4.2 修改MDI子窗口的客户窗口类 309
10.4.3 修改MDI客户窗口类 311
10.4.4 修改应用程序类 312
10.4.5 添加对话框类和函数绘图类 313
10.5 GRF2D源代码 316
10.6 本章小结 358
第十一章 打印和打印预览 359
11.1 与打印有关的类 360
11.2 打印机和页面设置 360
11.3 打印 363
11.4 打印预览 366
11.5 GRF2D源代码 372
11.6 本章小结 384
第十二章 联机帮助 385
12.1 概述 386
12.2 AppExpert创建的帮助框架 388
12.3.1 规划帮助系统 389
12.3 帮助主题文件的创建 389
12.3.2 编辑主题文件 390
12.4 帮助项目文件的创建 395
12.5 帮助目录文件的创建与使用 397
12.5.1 新帮助主题对话框 398
12.5.2 目录文件的创建 398
12.5.3 目录文件的使用 400
12.6 在帮助文件中使用图形 402
12.7 在程序中调用帮助文件 404
12.8 GRF2D源代码 405
12.9 本章小结 406