第1章 C++Builder的安装 1
1.1 C++Builder 概述 1
1.2 C++Builder 的安装 2
1.2.1 C++Builder的运行环境 2
1.2.2 C++Builder的安装步骤 2
1.2.3 C++Builder的卸载 11
1.3 C++Builder的启动 13
第2章 C++Builder的开发环境 14
2.1 C++Builder 的操作界面 14
2.1.1 主窗口 15
2.1.2 对象监视器 30
2.1.3 窗体 34
2.1.4 代码编辑器 39
2.2 C++Builder 中的组件索引 40
2.2.1 Sbandard 选项卡 40
2.2.2 Additional选项卡 41
2.2.3 Win2选项卡 41
2.2.4 System选项卡 42
2.2.5 Internet选项卡 43
2.2.6 Data Access选项卡 44
2.2.7 Data Controls选项卡 44
2.2.8 Midas选项卡 45
2.2.10 QReport选项卡 46
2.2.9 Decision Cube选项卡 46
2.2.11 Dialogs选项卡 47
2.2.12 Win3.1 选项卡 48
2.2.13 Samples选项卡 48
2.2.14 ActiveX选项卡 49
2.3 建立应用程序 49
2.3.1 选择组件 50
2.3.2 设置属性 50
2.3.3 编写程序代码 52
2.3.5 文件的保存 54
2.3.4 程序编译运行 54
2.4 项目文件的管理 55
2.4.1 项目的概念 55
2.4.2 项目管理器 57
2.4.3 项目管理器的设置 58
2.5 集成调试器 61
2.5.1 断点操作 62
2.5.2 设计执行方式 64
2.5.3 加入观察窗 65
2.5.4 Call Stack窗口 66
2.6.1 组件极的设置 67
2.6 C++Builder开发环境的设置 67
2.6.2 设置IDE 68
2.7 C++Builder的帮助信息 71
2.7.1 C++Builder的联机帮助信息 71
2.7.2 C++Builder中的代码洞察功能 73
2.8 其它软件公司提供的组件在C++Builder中的应用 73
第3章 C++基础知识 77
3.1 C++的发展历程 77
3.2 一个简单C++程序 79
3.3 数据类型 79
3.3.1 简单数据类型 80
3.3.2 复合数据类型 81
3.4 常量 86
3.4.1 整型常量 86
3.4.2 浮点常量 87
3.4.3 字符常量 87
3.4.4 常量的定义 88
3.5 变量 89
3.5.1 变量的说明和定义 90
3.5.2 变量名 90
3.6 指针 91
3.6.1 指针的类型及其定义 91
3.6.2 指针的初始化 92
3.6.3 字符串指针 93
3.6.4 引用类型 94
3.7 表达式 95
3.7.1 运算符 95
3.7.2 类型转换 102
3.8 控制语句 103
3.8.1 if语句 103
3.8.2 switCh语句 105
3.8.3 循环语句 109
3.8.4 跳转语句 112
3.9.1 函数的定义 115
3.9 函数 115
3.9.2 函数的参数 117
3.9.3 函数的返回值 120
3.9.4 函数的调用 121
3.9.5 函数指针 123
3.9.6 内部函数和外部函数 126
3.9.7 局部变量和全局变量 126
3.9.8 动态存储变量和静态存储变量 127
3.10 编译预处理 128
3.10.2 宏定义 129
3.10.1 文件包含 129
3.10.3 条件编译 132
3.11 流 134
3.12 重载 135
3.12.1 函数重载 136
3.12.3 运算符重载 137
3.13 文件 138
第4章 面向对象的程序设计 141
4.1 面向对象程序设计的基本概念 141
4.1.1 类与对象 141
4.1.2 封装 142
4.1.3 继承 143
4.1.4 多态性 144
4.2 C++Builder中的类 145
4.2.1 类的定义 145
4.2.2 类的数据成员和方法 149
4.3 构造函数和析构函数 153
4.3.1 构造函数 154
4.3.2 析构函数 157
4.3.3 对象数组 158
4.3.4 类的转换 160
4.3.5 友元 161
4.4 类与指针 162
4.4.1 this指针 163
4.4.2 指向类对象的指针 164
4.4.3 指向类成员的指针 164
4.5 继承 166
4.5.1 派生类 166
4.5.2 访问控制 167
4.5.3 成员覆盖 168
4.5.4 多重继承 169
4.5.5 构造函数的继承 170
4.6.1 多态性 171
4.6 多态性和虚拟函数 171
4.6.2 滞后绑定 172
4.6.3 虚拟函数 172
4.6.4 抽象基类 174
4.6.5 虚拟函数与滞后绑定的关系 175
4.6.6 虚拟函数的数据封装 175
4.6.7 虚拟析构函数 175
4.7 操作符重载 176
4.7.1 单目运算符的重载 176
4.7.2 双目运算符的重载 180
4.7.3 几个特殊运算符的重载 181
4.8.1 可视组件库概述 183
4.8 C++Builder的可视组件库 183
4.8.2 自定义组件类 184
4.8.3 修改一个已存在的组件类 184
4.8.4 创建Windows组件 185
4.9 异常处理 186
4.9.1 C++Builder中异常处理的基础知识 186
4.9.2 异常处理在程序中的应用 188
第5章 标准组件 192
5.1 窗体的初步操作 192
5.1.1 窗体的基本操作 192
5.1.2 窗体对象的属性 193
5.1.3 窗体对象的方法 196
5.1.4 窗体对象的事件 198
5.2 标准组件概述 199
5.3 MainMenu和PopllpMenu组件 199
5.3.1 MainMenu和PopupMenu组件的主要属性 199
5.3.2 MainMenu和PopupMenu组件的主要方法 202
5.3.3 MainMenu和PopuPMenu组件的主要事件 203
5.4 Label组件. 204
5.4.1 Label组件的重要属性 204
5.4.2 Label组件的重要方法 205
5.5.1 Edit组件的主要属性 206
5.4.3 Label组件的重要事件 206
5.5 Edit组件 206
5.5.2 Edit组件的主要方法 208
5.6 Memo组件 209
5.7 Button组件 210
5.7.1 Button组件的主要属性 210
5.7.2 Button组件的主要方法 211
5.8 CheckBox组件 211
5.8.1 CheckBox组件的主要属性 211
5.8.2 CheckBox组件的主要方法 212
5.9.2 RadioGroup组件 213
5.9 RadioButton、RadioGroup和GroupBox组件 213
5.9.1 RadioButton组件 213
5.9.3 GroupBox组件 214
5.10 ListBox组件 214
5.10.1 ListBox组件的主要属性 215
5.10.2 ListBox组件的主要方法 219
5.11 ComboBox 组件 221
5.12 ScrollBar组件 225
5.13 菜单设计 227
5.13.1 菜单编辑环境 227
5.13.2 菜单设计 228
5.13.3 快捷健及热键设计 230
5.13.4 快捷菜单设计 231
5.13.5 菜单模板 231
第6章 设计用户界面的增强型组件 233
6.1 BitBtn组件 233
6.2 SpeedButton组件 237
6.3 StringGrid组件 238
6.3.1 StringGrid组件的主要属性 239
6.3.2 StringGrid组件的主要方法 242
6.3.3 StringGrid组件响应的主要事件 243
6.3.4 DrawGrid组件简介 244
6.4 Bevel 、Shape和Image组件 244
6.4.1 Bevel组件 244
6.4.2 Shape组件 245
6.4.3 Image组件 246
6.5 MaskEdit组件和 StaticText组件 249
6.5.1 MaskEdit组件 249
6.6 Chart组件 251
6.6.1 创建图表的一般步骤 251
6.6.2 Chart组件的主要属性 254
6.7 ScrollBox组件 255
6.5.2 SticTeXt组件 255
6.7.1 ScrollBox组件的主要属性 256
6.7.2 ScrollBox组件的主要方法 257
6.8 Splitter和CheckListBox组件 257
6.8.1 Splitter组件 257
6.8.2 CheckListBox组件 259
6.9 OpenDialog和SaveDialog组件 259
6.9.1 OpenDialog对话框的主要属性 260
6.9.2 OpenDialog组件的主要方法 263
6.9.3 SaveDialog组件 264
6.10 OpenPictureDialog和 SavePictureDialog组件 264
6.11 FontDialog和 ColorDialog组件 265
6.10.1 OpenPictureDialog组件 265
6.10.2 SavePictureDialog组件 265
6.11.1 FontDialog组件 266
6.11.2 ColorDialog组件 267
6.12 PrintDialog和 PrintersetupDialog组件 268
6.12.1 PrintDialog组件 268
6.12.2 PrintersetupDialog组件 271
6.13 FindDialog和 ReplaceDialog组件 271
6.13.1 FindDialog组件 271
6.13.2 ReplaceDialog组件 272
6.14.1 DirectoryListBox组件 274
6.14 用于文件管理的 Win3.1组件 274
6.14.2 FileListBox组件 275
6.14.3 DnveComboBox组件 277
6.14.4 FilterComboBox组件 278
第7章 Win32选项卡下的组件 280
7.1 TabControl组件 280
7.1.1 TabControl组件的属性 281
7.1.2 TabControl组件响应的事件 283
7.2 PageControl组件 283
7.2.1 PageControl组件的主要属性 284
7.2.2 Tabsheet的主要属性 285
7.2.3 PageControl组件的主要方法 287
7.3 ImageList组件 289
7.3.1 ImageList组件的主要属性 290
7.3.2 ImageList组件的主要方法 291
7.4 RIChEdit组件 292
7.4.1 RichEdit组件的主要属性 292
7.4.2 RichEdit组件的主要方法 295
7.5 ProgressBar和StatusBar组件 296
7.5.1 ProgressBar组件的主要属性 296
7.5.2 ProgressBar组件的主要方法 298
7.5.3 StatusBar组件 299
7.6.1 UpDown组件 301
7.6 Updown、HotKey和DataTimePicker组件 301
7.6.2 HotKey组件 303
7.6.3 DateTimePicker组件 303
7.7 TreeView和ListView组件 304
7.7.1 TreeView组件的主要属性 305
7.7.2 TreeView组件的主要方法 308
7.7.3 ListView组件 308
7.8 ToolBar和CoolBar组件 311
7.8.1 ToolBar组件 312
7.8.2 CoolBar组件 312
7.9 HeaderControl组件 313
第8章 图形操作 315
8.1 图形组件 315
8.1.1 Imape组件的使用 315
8.1.2 ImageList组件的使用 318
8.1.3 FontDialog(字体对话框)组件的使用 319
8.1.4 ColorDialog(颜色对话框)组件和ColorGrid(颜色表格)组件的使用 321
8.2 图形组件 323
8.2.1 TPen对象 323
8.2.2 Brush(画刷)的使用 326
8.2.3 Canvas(画面)的使用 328
8.2.4 画图函数 330
8.3 简单绘图器的设计 333
8.4 图形设计的综合使用 339
8.5 C++Builder与OpenGL程序接口 352
8.5.1 OpenGL概述 352
8.5.2 OpenGL的工作顺序 352
8.5.3 OpenGL库函数 353
8.5.4 OpenGL的颜色 353
8.6 OpenGL程序设计实例 353
第9章 开发数据库应用程序 367
9.1 C++Builder中数据库应用程序的结构. 367
9.2.1 C++Builder中用于开发数据库应用程序的组件概述 370
9.2 设计数据库应用程序的基本组件和辅助工具 370
9.2.2 C++Builder提供的用于设计数据库应用程序的工具软件 371
9.3 数据集组件及TDatasource组件 372
9.3.1 TTable组件 372
9.3.2 TTable组件在应用程序中的应用 377
9.3.3 TQuery组件 383
9.3.4 TQuery组件在应用程序中的应用 386
9.3.5 TStoredProc组件 389
9.3.6 TDataSource组件 391
9.4 数据查找 392
9.4.2 使用FindKey方法查找数据 393
9.4.1 使用GotoKey方法查找数据 393
9.4.3 不精确查找 394
9.4.4 用TQuery组件的动态 SQL语句进行查询 395
9.5 数据控制组件 396
9.5.1 TDBGrid组件 396
9.5.2 TDBNavigator组件 399
9.5.3 TDBText组件 401
9.5.4 TDBEdit组件 401
9.5.5 TDBMemo组件 402
9.5.6 TDBImape组件 402
9.6.1 一个简单的报表 403
9.6 快速报表 403
9.6.2 TQuickRep组件 405
9.6.3 创建报表 406
9.7 BDE和 Database Desktop简介 410
9.7.1 BDE简介 410
9.7.2 Database Desktop简介 413
9.8 BDE程序设计 420
9.8.1 BDE程序设计概述 420
9.8.2 BDE API函数 421
9.8.3 BDE程序实例 426
9.9 数据库窗体向导的应用 429
9.9.1 利用向导生成简单窗体 430
9.9.2 利用向导生成主/从结构的窗体 433
第10章 多媒体应用程序 437
10.1 TAnimate组件的使用 437
10.1.1 TAnimatC组件的重要属性 437
10.1.2 TAnimate组件的主要方法 440
10.1.3 TAnimatC组件响应的事件 440
10.1.4 TAnimante组件的实际应用 440
10.2 TMediaPlnyer组件的使用 444
10.2.1 TMediaPlaver组件的重要属性 445
10.2.2 TMediaPlayer组件的重要方法 451
10.2.3 TMediaPlayer组件的响应事件 456
10.3 多媒体应用程序实例 456
10.4 游戏制作 458
第11章 应用程序的开发 470
11.1 C++Builder应用程序模板的使用 470
11.1.1 多文档模板的使用 471
11.1.1 应用向导(Application Wizard)的使用 472
11.1.3 其它模板的使用 474
11.2 设计多卡片应用程序 475
11.3.1 MessageDlg函数 482
11.3 对话框的设计 482
11.3.2 MessageDlgPosHe1P函数 483
11.3.3 ShowMessage函数 484
11.3.4 InputBox函数 484
11.3.5 MessageBox函数 485
11.3.6 MessageDlgPos函数 486
11.4 多窗体界面 487
11.5 多文档应用程序的设计 493
11.5.1 多文档应用程序的概念 493
11.5.2 多文档的图片文本例览器 494
12.1 线程与进程 503
第12章 开发多线程应用程序 503
12.2 C++Builder中的线程类 504
12.3 线程管理 508
12.3.1 线程的优先权 508
12.3.2 线程的本地存储 509
12.4 线程同步 510
12.4.1 临界区 511
12.4.2 互斥变量 511
12.4.3 信号量 512
12.4.4 死锁 513
11.5 线程和可视组件库 513
12.6 应用线程的例子 514