引言 1
0.1 Borland C++Builder简介 1
0.1.1 Borland C++Builder产生的背景 1
0.1.2 传统C++开发工具的不足 2
0.1.3 Borland C++Builder的产生 2
0.1.4 Borland C++Builder的特点 3
0.2 本书导读 4
0.3 本书的约定 5
第1章Borland C++Builder4的安装 7
1.1 硬件和软件环境要求 8
1.2 Borland C++Builder4的安装 8
第2章Borland C++Builder4集成开发环境 13
2.1 Borland C++Builder4集成开发环境 14
2.1.1 Borland C++Builder4集成开发环境的启动 14
2.1.2 Borland C++Builder4集成开发环境的主窗口 15
2.2 Borland C++Builder4集成开发环境的菜单 16
2.2.1 File菜单 16
2.2.2 Edit菜单 18
2.2.3 Search菜单 19
2.2.4 View菜单 20
2.2.5 Project菜单 21
2.2.6 Run菜单 22
2.2.7 Component菜单 23
2.2.9 Tools菜单 24
2.2.8 Database菜单 24
2.2.10 Help菜单 25
2.3 工具栏 26
2.4 构件栏 27
2.4.1 Standard选项卡 27
2.4.2 Additional选项卡 28
2.4.3 Win32选项卡 29
2.4.4 System选项卡 30
2.4.5 Internet选项卡 31
2.4.6 Data Access选项卡 32
2.4.7 Data Controls选项卡 33
2.4.8 ActiveX选项卡 33
2.5 本章小结 34
第3章Borland C++Builder4内置编程工具 35
3.1 窗体编辑器 36
3.1.1 窗体的存在形式 36
3.1.2 创建应用程序窗体 38
3.1.3 在窗体编辑器中放置构件 38
3.1.4 改变构件的尺寸 38
3.1.5 拷贝和粘贴构件 40
3.1.6 删除和恢复构件 40
3.1.7 调整构件布局 40
3.1.8 调整窗体构件的Tab次序 41
3.1.9 设置非可视构件的创建次序 42
3.1.10 锁定窗体位置 42
3.2 对象编辑器 43
3.2.1 设置构件对象的属性 44
3.2.2 设置构件需要响应的事件 46
3.3 代码编辑器和代码浏览器 47
3.3.1 创建新的单元文件 47
3.3.1 编辑文件 48
3.3.3 查找和替换操作 48
3.3.4 标识符浏览功能 50
3.3.5 动态帮助功能 50
3.4 代码浏览器 53
3.4.1 使用代码浏览器 53
3.4.2 关闭和打开代码浏览器 54
3.5 对齐工具栏 54
3.5.1 显示对齐工具栏 54
3.6.1 打开对象存储器 55
3.5.2 窗体编辑器中构件的位置调整 55
3.6 对象存储器 55
3.6.2 在对象存储器存储对象 56
3.7 图像编辑器 58
3.7.1 编辑位图 58
3.7.2 编辑图标 59
3.8 本章小结 60
第4章Borland C++Builder4工程管理 61
4.1 Borland C++Builder4工程项目 62
4.1.1 工程文件 62
4.1.2 单元文件 63
4.1.3 窗体文件 65
4.2 工程管理器 66
4.2.1 工程管理器的工具栏 67
4.2.2 工程项目管理器的状态栏 68
4.2.3 工程管理器的快捷菜单 68
4.3 Borland C++Builder4编译和连接环境 70
4.3.1 编译单元文件 70
4.3.2 工程项目文件的编译和连接 71
4.3.3 运行应用程序 72
4.4 本章小结 72
第5章Borland C++Builder4集成调试环境 73
5.1.2 运行时错误 74
5.2 Borland C++Builder4集成调试环境设置 74
5.1.3 逻辑错误 74
5.1.1 语法错误 74
5.1 应用程序错误类型 74
5.3 设置程序运行参数 75
5.4 控制程序运行 76
5.4.1 运行到文本编辑器光标所在位置 76
5.4.2 单步运行和跟踪 77
5.4.3 暂停和终止应用程序运行 77
5.5 使用断点 78
5.5.1 设置断点 78
5.5.2 删除断点 79
5.5.3 断点列表对话框 79
5.5.4 创建条件断点 80
5.6.1 观察变量值变化 81
5.6 检查变量和表达式的值 81
5.6.2 计算和修改变量值 82
5.7 检查函数和过程调用 83
5.7.1 打开调用栈窗口 83
5.7.2 使用调用栈窗口 83
5.8 监视线程状态 84
5.8.1 线程状态窗口 84
5.8.2 使用线程状态窗口 85
8.9 监视微处理器状态 85
5.10 本章小结 86
第6章 面向对象编程与Borland C++Builder4 87
6.1.2 对象式描述 88
6.1.1 过程式描述 88
6.1 面向对象的基本概念 88
6.2 类和对象 89
6.2.1 类的定义 89
6.2.2 类的使用 92
6.2.3 构造函数和析构函数 93
6.2.4 类的存取控制 98
6.3 继承 99
6.3.1 单一继承 99
6.3.2 派生类中的构造函数和析构函数 103
6.3.3 保护成员 104
6.4 多态性 105
6.4.1 运行时的多态性 105
6.4.2 虚函数 108
6.4.3 抽象类和纯虚函数 109
6.5 Borland C++Builder4常用类 110
6.5.1 字符串类(AnsiString) 110
6.5.2 字符串类队列(TStringList) 114
6.5.3 对象指针队列(TList) 116
6.6 本章小结 119
第7章Borland C++Builder4编程模式与构件 121
7.1 Borland C++Builder4编程模式 122
7.1.1 MS-DOS应用程序的编程模式 122
7.1.2 MS-DOS应用程序 122
7.1.3 Windows操作系统的特点 123
7.1.4 Windows应用程序编程特点 124
7.1.5 Borland C++Builder4编程模式 127
7.2 第一个Borland C++Builder4应用程序 130
7.2.1 创建新应用程序工程项目 130
7.2.2 在应用程序中加入菜单和菜单项 131
7.2.3 在应用程序中加入About对话框 134
7.3 构件 139
7.3.1 构件的定义 139
7.3.2 构件的构成 139
7.3.3 Borland C++Builder4可视化构件库的体系结构 140
7.4 窗体 141
7.4.1 窗体的属性 142
7.4.2 窗体的事件响应 146
7.4.3 实现窗体功能的方法 155
7.4.4 窗体的使用举例 156
7.4.5 应用程序源代码 158
7.5 本章小结 160
第8章Borland C++Builder4主窗口构件 161
8.1 菜单 162
8.1.1 菜单简介 162
8.1.2 主菜单构件和菜单项构件 163
8.2 菜单设计器 164
8.2.1 打开菜单设计器 164
8.2.2 创建菜单项 165
8.2.3 加速键和快捷键 166
8.2.6 创建多级菜单 168
8.2.4 增加和删除菜单项 168
8.2.5 添加菜单分隔符 168
8.2.7 使用菜单模板进行菜单设计 170
8.2.8 菜单项事件处理 171
8.3 菜单的动态操作与控制 171
8.3.1 增加菜单项 171
8.3.2 删除菜单项 172
8.3.3 隐藏/显示菜单项 172
8.3.4 更改菜单项 172
8.3.5 菜单项变灰操作 173
8.3.6 设置菜单项选择标志 173
8.4.1 控制板构件 174
8.4 控制板构件与快捷按钮构件 174
8.4.2 快捷按钮构件 178
8.4.3 设计和实现Windows应用程序的工具栏和快捷按钮 181
8.4.4 控制快捷按钮状态 182
8.5 工具栏构件和工具栏按钮构件 183
8.5.1 工具栏构件 183
8.5.2 工具栏按钮构件 184
8.5.3 实现Windows应用程序的工具栏和快捷按钮 184
8.6 状态栏 186
8.6.1 状态栏构件 186
8.6.2 在状态栏中显示菜单项提示信息 188
8.6.3 在状态栏中显示文本字符串 190
8.6.4 在状态栏中显示图标 191
8.7 本章小结 192
第9章 对话框和对话框构件 193
9.1 对话框简介 194
9.2 组成对话框的常用构件 195
9.2.1 标签构件 195
9.2.2 按钮构件 196
9.2.3 文本编辑器构件 200
9.2.4 组框构件 206
9.2.5 列表框构件 206
9.2.6 组合框构件 211
9.2.7 滚动条构件 213
9.2.8 备忘录构件 218
9.3 模式对话框的设计和实现 219
9.3.2 应用程序框架 220
9.3.1 应用程序对话框功能简介 220
9.3.3 应用程序代码 227
9.4 标准对话框函数 232
9.4.1 MessageDlg函数 232
9.4.2 MessageDlgPos函数 233
9.4.3 ShowMessage函数 233
9.4.4 ShowMessagePos函数 234
9.4.5 InputBox函数 234
9.5 通用标准对话框构件 234
9.5.1 打开文件对话框 235
9.5.2 通用文件存盘对话框 237
9.5.4 颜色对话框构件 238
9.5.3 颜色通用对话框简介 238
9.5.5 通用字体设置对话框简介 239
9.5.6 通用【查找】对话框和【取代】对话框 241
9.5.7 【打印】对话框 245
9.6 本章小结 247
第10章 Win32应用程序常用构件 249
10.1 TrackBar构件 250
10.1.1 TrackBar控件简介 250
10.1.2 TrackBar构件 250
10.1.3 TrackBar构件的使用 251
10.2.1 ProgressBar控件简介 253
10.2.2 ProgressBar构件 253
10.2 ProgressBar构件 253
10.2.3 ProgressBar构件的使用 254
10.3 TPageControl构件 256
10.3.1 属性页控件简介 256
10.3.2 TPageControl构件 257
10.3.3 TTabSheet构件 258
10.3.4 使用TPageControl构件设计对话框 259
10.4 ImageList构件 261
10.4.1 ImageList控件简介 261
10.4.2 ImageList构件 262
10.4.3 ImageList构件的使用 263
10.5.2 TreeView构件 265
10.5.1 TreeView控件简介 265
10.5 TreeView构件 265
10.5.3 使用TreeView构件进行应用程序设计 267
10.5.4 TTreeNodes构件 269
10.5.5 TTreeNode构件 270
10.5.6 应用程序运行时使用TreeView构件 271
10.6 ListView构件 273
10.6.1 ListView控件简介 273
10.6.2 ListView构件 274
10.6.3 ListView构件的使用 275
10.7 综合应用程序 280
10.8 本章小结 298
第11章 图形图像构件和绘图 299
11.1.2 Borland C++Builder4绘图模式 300
11.1.1 Windows图形基础知识 300
11.1 图形基础知识 300
11.2 基本的绘图构件 301
11.2.1 画笔构件 301
11.2.2 画刷构件 303
11.2.3 位图构件 305
11.3 Canvas构件 307
11.4 TImage构件 310
11.4.1 TImage构件属性 310
11.4.2 应用程序举例 311
11.5 Shape构件 311
11.6 综合应用程序 312
11.7 本章小结 324
第12章 RichEdit构件和RichEdit应用程序 325
12.1 RichEdit构件 326
12.1.1 RichEdit构件的属性 326
12.1.2 RichEdit构件的事件 329
12.1.3 RichEdit构件的方法 329
12.2 RichEdit应用程序 330
12.2.1 RichEdit应用程序框架 331
12.2.2 设计RichEdit的主窗口 331
12.2.3 创建RichEdit的主菜单 332
12.2.4 添加工具栏构件 332
12.2.5 添加快捷按钮构件 333
12.2.6 在RichEdit应用程序中增加标尺 334
12.2.8 添加通用对话框构件 335
12.2.7 添加状态栏构件 335
12.2.9 添加RichEdit构件 336
12.3 实现RichEdit应用程序的功能 337
12.3.1 创建新的文件功能 337
12.3.2 打开文件功能 338
12.3.3 文件存盘功能 339
12.3.4 剪贴板功能 339
12.3.5 改变文本字体功能 340
12.3.6 拖放操作 341
12.3.7 打印机设置功能 341
12.3.8 打印功能 341
12.3.9 标尺 342
12.4 RichEdit程序源代码 343
12.5 本章小结 359
第13章 多媒体构件和多媒体应用程序 361
13.1 多媒体和计算机操作系统 362
13.1.1 多媒体的基础知识 362
13.1.2 多媒体与Windows操作系统 362
13.1.3 MCI接口 363
13.2 卡通构件 365
13.2.1 卡通控件简介 365
13.2.2 卡通构件 366
13.2.3 卡通构件的使用 368
13.3 TMediaPlayer构件 370
13.3.1 TMediaPlayer构件简介 370
13.3.2 TMediaPlayer媒体播放构件使用 374
13.3.3 多媒体应用程序功能简介 375
13.3.4 多媒体应用程序代码 376
13.4 本章小结 389
第14章 异常处理 391
14.1 异常处理的基础 392
14.1.1 异常处理的基础知识 392
14.1.2 C++异常处理 393
14.2 Borland C++Builder4异常处理 395
14.2.1 VCL异常处理机制 395
14.2.2 VCL异常类层次结构 396
14.2.3 使用VCL缺省的异常处理 398
14.2.4 处理多个异常 399
14.2.5 唤起异常 400
14.2.6 使用用户自定义的异常处理对象 401
14.3 本章小结 406
第15章 线程构件和多线程应用程序 407
15.1 线程基础知识 408
15.1.1 进程和线程 408
15.1.2 多任务 408
15.1.3 线程调度 409
15.2 Borland C++Builder4多线程应用程序 410
15.2.1 Borland C++Builder4多线程工作模型 410
15.2.2 线程构件 411
15.2.3 创建线程类 413
15.2.4 多线程同步 416
15.2.6 多线程间通信 418
15.2.5 控制线程运行 418
15.3 本章小结 427
第16章 Internet构件和面向Internet应用程序 429
16.1 Internet简介 430
16.1.1 TCP/IP协议 430
16.1.2 Internet网络地址 430
16.1.3 Internet网络的服务 431
16.2 Borland C++Builder Internet构件 432
16.2.1 Socket简介 432
16.2.2 数据流Socket的工作过程 433
16.2.3 数据报Socket的工作过程 434
16.2.4 ClientSocket构件 434
16.2.5 ServerSocket构件 435
16.3 面向Internet应用程序 437
16.3.1 应用程序功能简介 437
16.3.2 应用程序源代码 439
16.4 本章小结 449
17.1 数据库基础知识 452
17.1.1 数据库管理系统 452
17.1.2 数据库应用程序 453
17.2 Borland C++Builder4数据库应用程序开发环境 453
17.2.1 Borland C++Builder4数据库应用程序开发环境 453
17.2.2 Borland数据库引擎 454
17.3 Borland C++Builder4数据库应用程序的结构 456
17.3.3 双层基于客户/服务器模式的数据库应用程序 457
17.3.2 单层数据库应用程序 457
17.3.1 使用BDE的单层数据库应用程序 457
17.3.4 多层结构的数据库应用程序 458
17.4 本章小结 459
第18章Borland C++Builder4数据库工具软件 461
18.1 BDE Administrator 462
18.1.1 BDE Administrator主窗口 462
18.1.2 数据库别名 462
18.1.3 创建和更改数据库的别名 463
18.1.4 数据库别名的重新配置 464
18.1.5 数据库引擎驱动程序的配置 465
18.2 Database Desktop 466
18.2.1 Database Desktop主窗口 466
18.2.2 创建新的表格 467
18.2.3 打开数据库表格 470
18.3.1 SQL Explorer主窗口 471
18.2.4 编辑数据库表格记录 471
18.3 SQL Explorer 471
18.3.2 显示数据库表格所包含的对象 472
18.3.3 显示和编辑数据库表格的记录 473
18.3.4 使用SQL语句进行数据库查询操作 474
18.4 本章小结 475
第19章 Borland C++ Builder 4数据库应用程序常用构件 477
19.1 Borland C++ Builder 4数据库应用程序构件 478
19.1.1 数据库访问构件 478
19.1.2 数据控制构件 479
19.2 数据集构件 480
19.2.1 数据集构件简介 481
19.2.2 数据集的状态 481
19.3 TTable构件 482
19.3.1 TTable构件 482
19.3.2 TTable构件的使用 484
19.3.3 打开和关闭数据库 486
19.3.4 通过表格构件控制对数据库的访问 487
19.3.5 移动当前记录 488
19.3.6 添加和插入操作 490
19.3.7 删除操作 491
19.3.8 检索操作 491
19.3.9 设置工作范围 494
19.3.10 排序操作 497
19.4 TQuery构件 498
19.4.1 TQuery构件 498
19.4.2 TQuery构件的使用 499
19.4.3 应用程序运行时的结构化查询操作 500
19.4.4 参数化的结构化查询操作 501
19.4.5 使用TQuery构件完成记录的排序操作 503
19.5 TDataSource构件 504
19.6 TDBNavigator构件 505
19.7 本章小结 506
附录A 常用构件的属性、方法和事件表 507
附录B 可视化构件库的常用函数 519
第17章Borland C++Builder4数据库应用程序开发环境 1451