引言 1
第1章 Borland C++ Builder概述和安装 3
1.1 Borland C++ Builder简介 4
1.1.1 Borland C++ Builder产生的背景 4
1.1.2 传统C++开发工具的不足 5
1.1.3 Borland C++ Builder的产生 5
1.1.4 Borland C++ Builder集成开发环境的特点 6
1.2 Borland C++ Builder的安装 7
1.2.1 硬件和软件环境要求 7
1.2.2 Borland C++ Builder的安装 7
1.3 Borland C++ Builder的组成 10
1.4 本章小结 11
第2章 Borland C++ Builder集成开发环境 13
2.1 集成开发环境 14
2.1.1 集成开发环境的运行 14
2.1.2 集成开发环境的主窗口 15
2.2 Borland C++ Builder集成开发环境的菜单 16
2.2.1 File菜单 16
2.2.2 Edit菜单 17
2.2.3 Search菜单 18
2.2.4 View菜单 19
2.2.5 Project菜单 20
2.2.6 Run菜单 21
2.2.8 Database菜单 23
2.2.7 Component菜单 23
2.2.9 Tools菜单 24
2.2.10 Workgroups菜单 25
2.2.11 Help菜单 25
2.3 工具栏 26
2.4 构件栏 28
2.5 本章小结 29
第3章 Borland C++ Builder常用工具软件 31
3.1 文本编辑器 32
3.1.1 创建新的单元文件 32
3.2 表单编辑器 33
3.1.2 打开文本文件或单元文件 33
3.1.3 编辑文件 33
3.2.1 表单的存在形式 34
3.2.2 创建应用程序表单 35
3.2.3 在表单编辑器中放置和删除构件 36
3.3 对象浏览器 36
3.3.1 设置构件的属性 37
3.3.2 构件事件处理 38
3.4 对齐工具栏 40
3.4.1 显示对齐工具栏 40
3.5.1 打开对象浏览器 41
3.4.2 表单编辑器中构件的位置调整 41
3.5 对象存储器 41
3.5.2 将工程对象放置到对象存储器 42
3.6 图像编辑器 44
3.6.1 编辑位图 44
3.6.2 编辑图标 45
3.7 本章小结 46
第4章 Borland C++ Builder工程项目管理和集成调试环境 47
4.1 C- + Builder工程项目 48
4.1.1 工程文件 48
4.1.2 单元文件 49
4.1.3 表单文件 51
4.1.4 包文件 54
4.1.5 桌面文件 54
4.2 Borland C++ Builder的工程项目管理器 54
4.2.1 工程项目管理器的工具栏 54
4.2.2 工程项目管理器的状态栏 55
4.2.3 工程项目管理器的快捷菜单 55
4.3 创建32位Windows应用程序过程 58
4.3.1 创建新应用程序工程项目 58
4.3.2 在应用程序中加入菜单和菜单项 59
4.3.3 在应用程序中加入About对话框 62
4.4.1 编译单元文件 66
4.4 Borland C++ Builder编译和连接环境 66
4.4.2 工程项目文件的编译和连接 67
4.4.3 运行应用程序 68
4.5 Borland C++ Builder集成调试环境 68
4.5.1 应用程序错误类型 68
4.5.2 集成调试环境的设置 69
4.5.3 断点 69
4.5.4 调试应用程序 71
4.6 本章小结 72
第5章 面向对象编程与Borland C++ Builder 73
5.1.2 对象式描述 74
5.1.1 过程式描述 74
5.1 面向对象的基本概念 74
5.2 类和对象 75
5.2.1 类的定义 75
5.2.2 类的使用 78
5.2.3 构造函数和析构函数 79
5.2.4 类的存取控制 84
5.3 继承 85
5.3.1 单一继承 85
5.3.2 派生类中的构造函数和析构函数 89
5.3.3 保护成员 90
5.4.1 运行时的多态性 91
5.4 多态性 91
5.4.2 虚函数 94
5.4.3 抽象类和纯虚函数 95
5.5 Borland C++ Builder常用类 96
5.5.1 字符串类(AnsiString) 96
5.5.2 字符串类队列(TStringList) 100
5.5.3 对象指针队列(TList) 101
5.6 本章小结 105
第6章 Borland C++ Builder编程模式与构件 107
6.1.1 MS-DOS应用程序的编程模式 108
6.1.2 MS-DOS应用程序 108
6.1 Borland C++ Builder编程模式 108
6.1.3 Windows操作系统的特点 109
6.1.4 Windows应用程序编程特点 110
6.1.5 Borland C++ Builder编程模式 113
6.2 构件 116
6.2.1 构件的定义 116
6.2.2 构件的构成 116
6.2.3 Borland C++ Builder可视化构件库的体系结构 117
6.3 表单构件 118
6.3.1 表单的属性 119
6.3.2 表单构件的事件响应 123
6.3.3 表单构件的方法 132
6.3.4 表单构件的使用举例 133
6.3.5 应用程序源代码 135
6.4 本章小结 137
第7章 Borland C++ Builder主窗口构件 139
7.1 菜单 140
7.1.1 菜单简介 140
7.1.2 主菜单构件和菜单项构件 141
7.2 菜单设计器 142
7.2.1 打开菜单设计器 142
7.2.2 创建菜单项 143
7.2.3 加速键和快捷键 144
7.2.6 创建多级菜单 146
7.2.5 添加菜单分隔符 146
7.2.4 增加和删除菜单项 146
7.2.7 使用菜单模板进行菜单设计 148
7.2.8 菜单项事件处理 149
7.3 菜单的动态操作与控制 149
7.3.1 增加菜单项 149
7.3.2 删除菜单项 150
7.3.3 隐藏/显示菜单项 150
7.3.4 更改菜单项 150
7.3.5 菜单项变灰操作 151
7.3.6 设置菜单项选择标志 151
7.4.1 控制板构件 152
7.4 控制板构件与快捷按钮构件 152
7.4.2 快捷按钮构件 156
7.4.3 设计和实现Windows应用程序的工具栏和快捷按钮 159
7.4.4 控制快捷按钮状态 160
7.5 工具栏构件和工具栏按钮构件 161
7.5.1 工具栏构件 161
7.5.2 工具栏按钮构件 162
7.5.3 实现Windows应用程序的工具栏和快捷按钮 162
7.6 状态栏 164
7.6.1 状态栏构件 164
7.6.2 在状态栏中显示菜单项提示信息 166
7.6.3 在状态栏中显示文本字符串 168
7.6.4 在状态栏中显示图标 169
7.7 本章小结 170
第8章 对话框和对话框构件 171
8.1 对话框简介 172
8.2 组成对话框的常用构件 173
8.2.1 标签构件 173
8.2.2 按钮构件 174
8.2.3 文本编辑器构件 178
8.2.4 组框构件 184
8.2.5 列表框构件 184
8.2.6 组合框构件 189
8.2.7 滚动条构件 191
8.2.8 备忘录构件 196
8.3 模式对话框的设计和实现 197
8.3.1 应用程序对话框功能简介 198
8.3.2 应用程序框架 198
8.3.3 应用程序代码 205
8.4 标准对话框函数 210
8.4.1 MessageDlg函数 210
8.4.2 MessageDlgPos函数 211
8.4.3 ShowMessage函数 211
8.5 通用标准对话框构件 212
8.4.5 InputBox函数 212
8.4.4 ShowMessagePos函数 212
8.5.1 打开文件对话框 213
8.5.2 通用文件存盘对话框 215
8.5.3 颜色通用对话框简介 215
8.5.4 颜色对话框构件 216
8.5.5 通用字体设置对话框简介 217
8.5.6 通用【查找】对话框和【取代】对话框 219
8.5.7 【打印】对话框 223
8.6 本章小结 224
第9章 Win32应用程序常用构件 225
9.1.2 TrackBar构件 226
9.1 TrackBar构件 226
9.1.1 TrackBar控件简介 226
9.1.3 TrackBar构件的使用 227
9.2 ProgressBar构件 229
9.2.1 ProgressBar控件简介 229
9.2.2 ProgressBar构件 229
9.2.3 ProgressBar构件的使用 230
9.3 TPageControl构件 232
9.3.1 属性页控件简介 232
9.3.2 TPageControl构件 233
9.3.3 TTabSheet构件 234
9.3.4 使用TPageControl构件设计对话框 235
9.4 ImageList构件 237
9.4.1 ImageList控件简介 237
9.4.2 ImageList构件 238
9.4.3 ImageList构件的使用 239
9.5 TreeView构件 241
9.5.1 TreeView控件简介 241
9.5.2 TreeView构件 241
9.5.3 使用TreeView构件进行应用程序设计 243
9.5.4 TTreeNodes构件 245
9.5.5 TTreeNode构件 246
9.5.6 应用程序运行时使用TreeView构件 247
9.6.1 ListView控件简介 249
9.6 ListView构件 249
9.6.2 ListView构件 250
9.6.3 ListView构件的使用 251
9.7 综合应用程序 256
9.8 本章小结 274
第10章 图形图像构件和绘图 275
10.1 图形基础知识 276
10.1.1 Windows图形基础知识 276
10.1.2 Borland C++ Builder绘图模式 276
10.2.1 画笔构件 277
10.2 基本的绘图构件 277
10.2.2 画刷构件 279
10.2.3 位图构件 281
10.3 Canvas构件 283
10.4 TImage构件 286
10.4.1 TImage构件属性 286
10.4.2 应用程序举例 287
10.5 Shape构件 287
10.6 综合应用程序 288
10.7 本章小结 300
第11章 RichEdit构件和RichEdit应用程序 301
11.1.1 RichEdit构件的属性 302
11.1 RichEdit构件 302
11.1.2 RichEdit构件的事件 305
11.1.3 RichEdit构件的方法 305
11.2 RichEdit应用程序 306
11.2.1 RichEdit应用程序框架 307
11.2.2 设计RichEdit的主窗口 307
11.2.3 创建RichEdit的主菜单 308
11.2.4 添加工具栏构件 308
11.2.5 添加快捷按钮构件 309
11.2.6 在RichEdit应用程序中增加标尺 310
11.2.8 添加通用对话框构件 311
11.2.7 添加状态栏构件 311
11.2.9 添加RichEdit构件 312
11.3 实现RichEdit应用程序程序功能 313
11.3.1 创建新的文件功能 313
11.3.2 打开文件功能 314
11.3.3 文件存盘功能 315
11.3.4 剪贴板功能 315
11.3.5 改变文本字体功能 316
11.3.6 拖放操作 317
11.3.7 打印机设置功能 317
11.3.8 打印功能 317
11.3.9 标尺 318
11.4 RichEdit程序源代码 319
11.5 本章小结 335
第12章 多媒体构件和多媒体应用程序 337
12.1 多媒体和计算机操作系统 338
12.1.1 多媒体的基础知识 338
12.1.2 多媒体与Windows操作系统 338
12.1.3 MCI接口 339
12.2 卡通构件 341
12.2.1 卡通控件简介 341
12.2.2 卡通构件 342
12.2.3 卡通构件的使用 344
12.3.1 TMediaPlayer构件简介 346
12.3 TMediaPlayer构件 346
12.3.2 TMediaPlayer媒体播放构件使用 350
12.3.3 多媒体应用程序功能简介 351
12.3.4 多媒体应用程序代码 352
12.4 本章小结 365
第13章 异常处理 367
13.1 异常处理的基础 368
13.1.1 异常处理的基础知识 368
13.1.2 C++异常处理 369
13.2 Borland C++ Builder异常处理 371
13.2.1 VCL异常处理机制 371
13.2.2 VCL异常类层次结构 372
13.2.3 使用VCL缺省的异常处理 374
13.2.4 处理多个异常 375
13.2.5 唤起异常 376
13.2.6 使用用户自定义的异常处理对象 377
13.3 本章小结 382
第14章 线程构件和多线程应用程序 383
14.1 线程基础知识 384
14.1.1 进程和线程 384
14.1.2 多任务 384
14.1.3 线程调度 385
14.2.1 Borland C++ Builder多线程工作模型 386
14.2 Borland C++ Builder多线程应用程序 386
14.2.2 线程构件 387
14.2.3 创建线程类 389
14.2.4 多线程同步 392
14.2.5 控制线程运行 394
14.2.6 多线程间通信 394
14.3 本章小结 403
第15章 Internet构件和面向Internet应用程序 405
15.1 Internet简介 406
15.1.1 TCP/IP协议 406
15.1.2 Internet网络地址 406
15.1.3 Internet网络的服务 407
15.2 Borland C++ Builder Inemet构件 408
15.2.1 Socket简介 408
15.2.2 数据流Socker的工作过程 409
15.2.3 数据报Socket的工作过程 410
15.2.4 ClientSocket构件 410
15.2.5 ServerSocket构件 411
15.3 面向Internet应用程序 413
15.3.1 应用程序功能简介 413
15.3.2 应用程序源代码 415
15.4 本章小结 425
第16章 Borland C++ Builder数据库应用程序开发环境 427
16.1 数据库基础知识 428
16.1.1 数据库管理系统 428
16.1.2 数据库应用程序 429
16.2 Borland C++ Builder数据库应用程序开发环境 429
16.2.2 Borland数据库引擎 430
16.3 Borland C++ Builder数据库应用程序的结构 432
16.3.1 使用BDE的单层数据库应用程序 433
16.3.2 单层数据库应用程序 433
16.3.3 双层基于客户/服务器模式的数据库应用程序 433
16.3.4 多层结构的数据库应用程序 434
16.4 本章小结 435
第17章 Borland C++ Builder数据库工具软件 437
17.1 BDE Administrator 438
17.1.1 BDE Administrator主窗口 438
17.1.2 数据库别名 438
17.1.3 创建和更改数据库的别名 439
17.1.4 数据库别名的重新配置 440
17.1.5 数据库引擎驱动程序的配置 441
17.2 Database Desktop 442
17.2.1 Database Desktop主窗口 442
17.2.2 创建新的表格 443
17.2.3 打开数据库表格 446
17.3.1 SQL Explorer主窗口 447
17.3 SQL Explorer 447
17.2.4 编辑数据库表格记录 447
17.3.2 显示数据库表格所包含的对象 448
17.3.3 显示和编辑数据库表格的记录 449
17.3.4 使用SQL语句进行数据库查询操作 450
17.4 本章小结 451
第18章 Borland C++ Builder数据库应用程序常用构件 453
18.1 Borland C++ Builder数据库应用程序构件 454
18.1.1 数据库访问构件 454
18.1.2 数据控制构件 455
18.2 数据集构件 456
18.2.2 数据集的状态 457
18.2.1 数据集构件简介 457
18.3 TTable构件 458
18.3.1 TTable构件 458
18.3.2 TTable构件的使用 460
18.3.3 打开和关闭数据库 462
18.3.4 通过表格构件控制对数据库的访问 463
18.3.5 移动当前记录 464
18.3.6 添加和插入操作 466
18.3.7 删除操作 467
18.3.8 检索操作 467
18.3.9 设置工作范围 470
18.3.10 排序操作 473
18.4 TQuery构件 474
18.4.1 TQuery构件 474
18.4.2 TQuery构件的使用 475
18.4.3 应用程序运行时的结构化查询操作 476
18.4.4 参数化的结构化查询操作 477
18.4.5 使用TQuery构件完成记录的排序操作 479
18.5 TDataSource构件 480
18.6 TDBNavigator构件 481
18.7 本章小结 482
附录A 常用构件的属性、方法和事件表 483
附录B 可视化构件库的常用函数 495