第一章 C+Builder概述 1
1.1 C++的发展历史 1
1.2 C++Builder的主要特点 3
1.3 本章小结 5
第二章 软件开发一般方法 6
2.1 软件工程的提出 6
2.2 软件生命周期 7
2.2.1 问题定义 7
2.2.2 可行性研究 7
2.2.3 需求分析 8
2.2.4 系统设计 8
2.2.5 运行维护 8
2.3 软件开发模型 9
2.3.1 瀑布模型 10
2.3.2 快速原型法 10
2.4 面向对象的分析与设计 11
2.4.1 对象概述 11
2.4.2 消息 11
2.4.3 对象间的相互关系 12
2.4.4 建模语言 12
2.4.5 面向对象系统分析 14
2.4.6 面向对象系统设计 15
2.5 编程中的标准化 16
2.6 本章小结 18
第三章 C+Builder语言导论 19
3.1 C++语言新特征 19
3.1.1 简化的输入输出手段 19
3.1.2 C+++引用(References)——提高程序的效率 20
3.1.3 语法上的一些变更 22
3.1.4 动态内存分配(new)和释放(delete)算符 22
3.1.5 有关函数的新特征 24
3.2 C++语言初步 26
3.2.1 类和对象的基本概念 26
3.2.2 继承和多态 33
3.2.3 小结 44
3.3 C++Builder—C++的扩展 45
3.3.1 动态函数(dynamic functions) 45
3.3.2 #pragma package指令 47
3.3.3 为异常处理增加了try/__finally结构 48
3.3.4 改变了模板产生的机制 49
3.4 本章小结 50
第四章 C+Builder的IDE 51
4.1 主窗口 51
4.2 菜单介绍 51
4.2.1 File菜单栏 52
4.2.2 Edit菜单栏 53
4.2.3 View菜单栏 54
4.2.4 Project菜单栏 58
4.2.5 Run菜单栏 62
4.2.6 Component菜单栏 64
4.2.7 Tools菜单栏 68
4.3 对象监视器(Object Inspector) 70
4.4 窗体 71
4.5 代码编辑器 72
4.6 加入工具 72
4.7 快捷工具栏 73
4.8 IDE编辑环境的设置 74
4.8.1 Preferences 74
4.8.2 Library 75
4.8.3 Editor 76
4.8.4 Display 76
4.8.5 Color 77
4.8.6 Palette 78
4.8.7 Code Insight 78
4.9 设置缺省的新项目、主窗体和窗体 80
4.9.1 设置缺省的新项目 80
4.9.2 设置缺省的新窗体 80
4.9.3 设置缺省的新主窗体 80
4.10 如何获得帮助 81
4.11 本章小结 81
第五章 设计界面 82
5.1 在窗体上加入元件 82
5.2 元件的重设尺寸、移动、删除、剪切、复制和粘贴 83
5.2.1 元件的重设尺寸 83
5.2.2 元件的移动和删除 84
5.2.3 元件的剪切、复制和粘贴 84
5.3 在窗体上排列元件 84
5.4 把元件分组 85
5.5 向项目中加入新窗体以及移走窗体 86
5.5.1 加入新窗体 86
5.5.2 从项目中移走—窗体 86
5.6 在多个窗体或代码窗口间切换 87
5.7 与其它项目共享窗体 88
5.8 使用窗体模板与专家 90
5.8.1 关于Copy、Inherit和Use 90
5.8.2 使用窗体模板与专家举例 91
5.9 连接窗体 92
5.10 窗体与单元文件(Form和Unit文件) 93
5.10.1 窗体的单元文件 93
5.10.2 独立单元文件(Standalone unit files) 93
5.11 窗体及其相关文件 94
5.11.1 Unit1.DFM 94
5.11.2 Unit.CPP和Unit1.h 95
5.12 本章小结 95
第六章 特性和事件 96
6.1 设计期间与运行期间修改元件的特性 96
6.1.1 对象监视器是如何显示特性的 96
6.1.2 在设计期间修改元件的特性 96
6.1.3 在运行期间修改元件的特性 97
6.2 特性编辑器 97
6.3 显示和修改元件的公共特性 98
6.4 生成新的事件处理函数 98
6.5 生成默设的事件处理函数 99
6.6 定位已有的事件处理函数 100
6.7 把一事件和已有事件处理函数相连 100
6.8 删除事件处理函数 101
6.9 公共事件 102
6.9.1 显示公共事件 102
6.9.2 生成公共事件的事件处理函数 102
6.9.3 把公共事件与一已有的事件处理函数相连 102
6.10 本章小结 102
第七章 项目管理器 104
7.1 C+++Builder 3.0的项目管理器的新功能 104
7.2 使用项目管理器 104
7.2.1 项目管理器的文件浏览区 105
7.2.2 项目管理器的工具栏 106
7.2.3 项目管理器的状态栏 106
7.2.4 项目管理器的上下文菜单 106
7.2.5 利用项目管理器显示Forms和unit 106
7.3 项目模板和专家 107
7.4 项目组的创建、编译和运行 110
7.4.1 项目组中单个项目的编译和运行 110
7.4.2 项目组的创建、编译和运行 111
7.5 举例说明创建、编译和运行项目组 111
7.5.1 创建一批处理文件 112
7.5.2 创建一动态链接库(DLL) 112
7.5 3 创建一DOS应用程序 113
7.5.4 创建一基于VCL的项目 114
7.5.5 项目组的编译和运行 115
7.6 本章小结 116
第八章 常用元件 117
8.1 窗体 117
8.1.1 窗体的特性 117
8.1.2 窗体的响应事件 133
8.1.3 窗体的方法 145
8.2 设计菜单 149
8.2.1 菜单设计器 149
8.2.2 命名菜单和菜单项 149
8.2.3 加入菜单项、插入菜单项和删除菜单项 150
8.2.4 指定加速键和快捷键 151
8.2.5 创建嵌套菜单 151
8.2.6 移动菜单项 151
8.2.7 查看菜单 152
8.2.8 设计期间在不同菜单间切换 152
8.2.9 利用菜单模板 153
8.2.10 把一菜单作为模板保存 153
8.2.11 在运行期间动态地加入菜单项 154
8.2.12 合并(Merge)菜单 155
8.2.13 从资源文件中导入菜单 155
8.3 主菜单 156
8.3.1 AutoMerge特性 156
8.3.2 Items特性 156
8.3.3 Handle特性 157
8.3.4 GetOle2AcceleratorTable方法 157
8.3.5 Merge方法 157
8.3.6 SetOle2MenuHandle方法 158
8.3.7 Unmerge方法 158
8.4 弹出式菜单 158
8.4.1 Alignment特性 158
8.4.2 AutoPopup特性 159
8.4.3 HelpContext特性 159
8.4.4 PopupComponent特性 159
8.4.5 Popup方法 161
8.4.6 OnPopup事件 161
8.5 菜单项 162
8.5.1 菜单项的特性 162
8.5.2 菜单项的OnClick事件 167
8.5.3 菜单项的方法 167
8.6 Label 169
8.6.1 Label的特性 169
8.6.2 Label的方法 172
8.7 Edit 172
8.7.1 Edit的特性 172
8.7.2 Edit的方法 180
8.7.3 OnChange事件 181
8.8 Memo 182
8.9 Button 185
8.9.1 Cancel特性 185
8.9.2 Default特性 186
8.9.3 ModalResult特性 186
8.9.4 Click方法 187
8.10 CheckBox 188
8.10.1 Alignment特性 188
8.10.2 AllowGrayed特性 188
8.10.3 Checked特性 188
8.10.4 State特性 189
8.11 RadioButton 190
8.11.1 Alignment特性 191
8.11.2 Checked特性 191
8.12 ListBox 191
8.12.1 ListBox的特性 192
8.12.2 ListBox的方法 198
8.12.3 ListBox的事件 200
8.13 ComboBox 201
8.13.1 ComboBox的特性 201
8.13.2 Clear和SelectAll方法 204
8.13.3 OnChange事件 205
8.14 ScrollBar 205
8.14.1 ScrollBar的特性 205
8.14.2 OnChange事件 207
8.14.3 OnScroll事件 207
8.15 RadioGroup 208
8.15.1 Columns特性 208
8.15.2 ItemIndex特性 208
8.15.3 Items特性 209
8.16 Panel 209
8.16.1 Alignment特性 209
8.16.2 BevelInner特性和BevelOuter特性 210
8.16.3 BevelWidth特性 210
8.16.4 BorderStyle特性 211
8.16.5 BorderWidth特性 211
8.16.6 FullRepaint特性 212
8.16.7 Locked特性 212
8.17 BitBtn 212
8.17.1 Glyph特性 212
8.17.2 Kind特性 213
8.17.3 Layout特性 214
8.17.4 Margin特性 215
8.17.5 NumGlyphs特性 216
8.17.6 Spacing特性 216
8.17.7 Style特性 216
8.18 SpeedButton 217
8.18.1 AllowAllUp特性 217
8.18.2 Down特性 217
8.18.3 Flat特性 218
8.19 StringGrid 218
8.20 DrawGrid 219
8.21 Image 221
8.22 Shape 223
8.23 Splitter 224
8.24 TabControl 225
8.25 PageControl 225
8.26 ImageList和ListView 227
8.27 TrackBar 230
8.28 ProgressBar和CGauge 231
8.29 Animate 232
8.30 HeaderControl 236
8.31 ToolBar 239
8.32 CoolBar 240
8.33 MediaPlayer 243
8.34 OleContainer 245
8.35 TabSet 248
8.36 DriveComboBox、DirectoryListBox、FileListBox和FilterComboBox 249
8.37 CCalendar 252
8.38 Graph 253
8.39 使用OLE Automation举例 254
8.40 本章小结 259
第九章 通用对话框 260
9.1 OpenDialog 260
9.1.1 DefaultExt特性 260
9.1.2 FileName特性 261
9.1.3 Files特性 261
9.1.4 Filter特性 261
9.1.5 FilterIndex特性 262
9.1.6 InitialDir特性 263
9.1.7 Options特性 263
9.1.8 Title特性 264
9.1.9 Execute方法 264
9.1.10 OnCanClose事件 265
9.1.11 OnFolderChange事件 265
9.2 SaveDialog 265
9.3 OpenPictureDialog 267
9.4 FontDialog 268
9.4.1 Device特性 268
9.4.2 Font特性 268
9.4.3 MaxFontSize和MinFontSize特性 268
9.4.4 Options特性 269
9.4.5 OnApply事件 269
9.5 PrintDialog 270
9.5.1 Collate特性 270
9.5.2 FromPage特性、ToPage特性、MaxPage特性和MinPage特性 270
9.5.3 Options特性 271
9.5.4 PrintToFile特性 272
9.6 FindDialog 272
9.6.1 FindText特性 272
9.6.2 Options特性 273
9.6.3 Position特性 273
9.7 ReplaceDialog 274
9.8 本章小结 276
第十章 数据库程序设计 277
10.1 一个简单的数据库程序 277
10.2 数据库应用程序的组成 278
10.2.1 C+++Builder数据库程序的基本结构 278
10.2.2 DataAccess元件 280
10.2.3 DataControl元件 281
10.3 TTable元件及运用 281
10.3.1 TTable元件的特性 281
10.3.2 TTable元件的方法 282
10.3.3 数据库的打开与关闭 284
10.3.4 数据库的创建与删除 284
10.3.5 数据库访问范围的设置 285
10.3.6 数据库的当前记录指针的移动 286
10.3.7 数据库数据的维护 286
10.3.8 数据库的查询 289
10.3.9 TTable元件的响应事件 290
10.4 TQuery元件 291
10.4.1 TQuery元件的特性与方法 291
10.4.2 SQL运用 293
10.4.3 可变参数的运用 294
10.5 TField元件 296
10.5.1 TField类的特性、方法及响应事件 296
10.5.2 TField元件的创建 297
10.5.3 TField元件的继承子类 298
10.5.4 TField元件的访问 298
10.6 数据控制(DataControl)元件 299
10.6.1 TBGrid元件 300
10.6.2 TDBNavigator元件 302
10.7 实现快速报表打印功能 303
10.7.1 使用QuickReport Wizard 303
10.7.2 常用快速报表元件 305
10.8 一个功能完善的数据库应用程序 306
10.9 使用DataBase Form Wizard设计数据库窗体 320
10.10 本章小结 323
第十一章 多媒体程序设计 324
11.1 多媒体的一些概念 324
11.1.1 音频 324
11.1.2 数字视频 325
11.1.3 动画 326
11.1.4 图像 326
11.1.5 文本 327
11.2 媒体播放机元件TMediaPlayer及运用 327
11.2.1 TMediaPlayer元件的主要属性 328
11.2.2 TMediaPlayer元件的方法 330
11.2.3 媒体元件TMediaPlayer的响应事件 330
11.2.4 程序的背景音乐——Mid的播放 331
11.2.5 发声的按钮——Wav的播放 332
11.2.6 完整的CD播放器 335
11.2.7 程序的优美片头——Avi的播放 340
11.3 C++Builder的动画技巧 342
11.3.1 动态位图按钮 342
11.3.2 建立切换效果 344
11.3.3 程序中添加基于对象的动画 347
11.3.4 关于OpenGL及Direct Draw 349
11.4 本章小结 349
第十二章 VCL类库简介 350
12.1 VCL概述 350
12.2 TObject类 351
12.3 TPersistent类 356
12.4 TComponent类 357
12.5 TControl类 362
12.6 TWinControl类 376
12.7 TGraphicControl类 386
12.8 TCustomControl类 387
12.9 本章小结 387
第十三章 字符串和列表 388
13.1 TList 388
13.1.1 TList的特性 388
13.1.2 TList的方法 389
13.1.3 一个使用TList的例子 392
13.2 TStrings和TStringList 393
13.2.1 特性 393
13.2.2 TStringList的方法 396
13.2.3 TStringList的事件 396
13.2.4 一个较为综合的例子 397
13.3 TRegistry和TIniFile—注册表的编程 400
13.3.1 注册表简介 400
13.3.2 注册表的结构 400
13.3.3 预定义键 401
13.3.4 访问注册表 402
13.3.5 TRegistry和TIniFile 403
13.4 本章小结 412
第十四章 使用DLL编程 413
14.1 什么是动态链接库(DLL) 413
14.2 如何在C++Builder中使用DLL 414
14.2.1 静态引入方式 414
14.2.2 动态引入方式 414
14.3 利用DLL实现应用程序间数据共享 416
14.3.1 DLL中的全局内存 416
14.3.2 利用DLL实现应用程序间的数据传输 416
14.3.3 服务器程序的编写 417
14.3.4 客户程序的编写 418
14.4 创建自己的DLL 418
14.5 利用DLL实现VCL元件重用 419
14.6 本章小结 421
第十五章 异常处理 422
15.1 为什么要使用异常 422
15.2 C++异常处理 424
15.2.1 C+++异常处理语法 424
15.2.2 异常的嵌套 426
15.2.3 异常的重启动 427
15.2.4 对不同异常的处理 429
15.2.5 具有派生关系的异常对象 430
15.2.6 缺省异常处理 433
15.2.7 异常说明 434
15.3 VCL异常 435
15.3.1 VCL异常概述 435
15.3.2 系统预定义VCL异常类 436
15.3.3 利用VCL异常处理处理操作系统异常 437
15.4 结构化异常处理 438
15.4.1 结构化异常处理概述 438
15.4.2 结构化异常处理语法 438
15.4.3 自定义结构化异常 442
15.5 本章小结 443
第十六章 程序调试(DEBUG) 444
16.1 程序调试器的设置 444
16.1.1 产生调试信息 444
16.1.2 使调试器有效 445
16.2 程序调试的菜单命令 445
16.3 使用断点 446
16.3.1 设置与清除断点 446
16.3.2 断点列表窗口 447
16.3.3 简单断点 448
16.3.4 条件断点 449
16.3.5 运行到光标命令(Run to Cursor) 449
16.4 检查变量 449
16.4.1 查看列表窗的快捷菜单命令 450
16.4.2 使用查看特性对话框 450
16.4.3 使查看项目有效或无效 451
16.4.4 增加查看项目 451
16.4.5 使用查看列表窗 451
16.5 调试观察器 452
16.6 单步执行和跟踪调试 453
16.7 其它调试工具 453
16.7.1 计算及修改变量 453
16.7.2 函数调用堆栈 454
16.7.3 查看CPU 455
16.7.4 跳到指定地址 456
16.8 程序的调试技巧 456
16.8.1 诊断宏TRACE及WARN 456
16.8.2 调试保护性错误 457
16.9 本章小结 458