C++ Builder 完整教程
目录
- 什么是 C++ Builder?
- 为什么选择 C++ Builder?
- 开发环境概览
- 第一步:创建您的第一个 "Hello, World!" 项目
- 核心概念:VCL 和 FMX
- 深入 VCL 开发
- 1 使用窗体和组件
- 2 事件处理
- 3 对象检查器
- 4 代码编辑器
- 常用组件介绍
- 数据访问与数据库开发
- 高级主题
- 学习资源与社区
什么是 C++ Builder?
C++ Builder 是由 Embarcadero 公司开发的一款快速应用程序开发工具,它允许开发者使用 C++ 语言来构建原生、高性能的桌面、移动、Web 和物联网应用程序。

- 核心特点:它将强大的 C++ 编译器与一个功能丰富的可视化开发环境 紧密集成。
- 工作方式:您可以通过拖拽组件(如按钮、文本框、数据网格等)来快速构建用户界面,然后编写 C++ 代码来处理业务逻辑、数据库交互等。
- 底层技术:C++ Builder 的两大 UI 框架是 VCL(Visual Component Library)和 FMX(FireMonkey),VCL 主要用于 Windows 平台,而 FMX 是跨平台的框架,可用于 Windows、macOS、iOS、Android 等。
C++ Builder = C++ 语言 + 可视化 RAD 工具 + VCL/FMX 框架。
为什么选择 C++ Builder?
- 原生性能:编译后的应用程序是真正的原生代码,性能极高,没有中间层解释,特别适合计算密集型、图形密集型和高性能要求的场景。
- 快速开发:RAD 环境极大地提高了开发效率,可视化设计、组件库和代码模板让开发者可以专注于业务逻辑,而不是重复搭建 UI。
- 强大的数据库支持:内置了强大的数据库引擎(如 dbExpress),对 InterBase, MySQL, PostgreSQL, SQLite 等多种数据库有出色的支持,数据感知组件让数据库操作变得异常简单。
- 跨平台能力:使用 FMX 框架,您可以为 Windows、macOS、iOS 和 Android 编写一次代码,部署到多个平台,而无需重写 UI 逻辑。
- 现代化的 IDE:基于强大的 Delphi 和 C++Builder IDE,拥有代码补全、重构、调试、版本控制集成等现代开发所需的一切功能。
- 庞大的组件生态系统:除了内置组件,还有来自 Embarcadero 和第三方开发者的大量第三方组件库,可以满足各种特殊需求。
开发环境概览
启动 C++ Builder 后,您会看到几个主要的窗口:
- 主菜单栏:包含所有命令,如文件、编辑、视图、项目、运行等。
- 工具栏:常用命令的快捷按钮。
- 窗体设计器:您拖放组件、设计 UI 的地方。
- 对象检查器:显示当前选中窗体或组件的属性和事件,这是 RAD 开发的核心。
- 属性:组件的外观和行为(如
Text,Caption,Color,Width)。 - 事件:组件可以响应的动作(如
OnClick,OnCreate,OnChange)。
- 属性:组件的外观和行为(如
- 项目管理器:显示当前项目的所有文件(.cpp, .h, .dfm/.fmx 等)。
- 代码编辑器:编写和管理 C++ 代码的地方。
第一步:创建您的第一个 "Hello, World!" 项目
这是每个新手的必经之路。
- 启动 C++ Builder。
- 创建新项目:选择
File -> New -> VCL Forms Application - C++Builder(或者FireMonkey HD Application - C++Builder来体验跨平台),这会创建一个默认的窗体。 - 设计界面:
- 在 工具面板 中找到
Standard选项卡。 - 找到
TButton组件,单击它,然后在窗体上单击一下,一个按钮就添加进去了。 - 同样地,添加一个
TLabel组件。
- 在 工具面板 中找到
- 修改属性:
- 单击窗体,在 对象检查器 的
Properties标签页中,找到Caption属性,将其值从Form1改为我的第一个窗口。 - 单击
Label1,将其Caption属性清空。 - 单击
Button1,将其Caption属性改为点击我。
- 单击窗体,在 对象检查器 的
- 编写事件处理代码:
- 选中
Button1,在 对象检查器 中切换到Events标签页。 - 双击
OnClick事件右侧的空白处,C++ Builder 会自动跳转到代码编辑器,并生成一个事件处理函数的框架:void __fastcall TForm1::Button1Click(TObject *Sender) { // TODO: 在此处添加您的处理程序代码 } - 在
// TODO...下面添加一行代码:Label1->Caption = "Hello, C++ Builder World!";
- 选中
- 运行程序:按
F9键,或者点击工具栏上的绿色运行按钮。
您会看到您的应用程序窗口弹出,点击“点击我”按钮,标签的文字就会改变,恭喜,您已经成功创建了您的第一个 C++ Builder 程序!

核心概念:VCL 和 FMX
这是理解 C++ Builder 的关键。
| 特性 | VCL (Visual Component Library) | FMX (FireMonkey) |
|---|---|---|
| 目标平台 | Windows (原生) | 跨平台 (Windows, macOS, iOS, Android, Linux) |
| 底层渲染 | 使用 Windows GDI/GDI+ 进行绘制 | 使用 OpenGL, DirectX, Metal 等现代图形 API 进行硬件加速渲染 |
| 外观 | 外观与操作系统原生风格一致 | 可以创建跨平台且外观一致的现代化 UI,支持复杂的视觉效果(如透明、3D) |
| 适用场景 | 传统的 Windows 桌面应用程序,需要深度集成 Windows 系统 | 现代化的跨平台应用,移动应用,游戏,数据可视化,UI 需要酷炫效果 |
| 窗体文件 | .dfm (Delphi Form) |
.fmx (FireMonkey Form) |
建议:
- 如果您的应用只运行在 Windows 上,并且希望界面与系统风格完全融合,VCL 是最佳选择,它更成熟、稳定,与 Windows API 结合紧密。
- 如果您希望一次编码,多端运行,或者需要更现代、更炫酷的 UI,请选择 FMX。
深入 VCL 开发
假设我们选择 VCL 进行开发。
1 使用窗体和组件
- 窗体:是应用程序的窗口,是所有组件的容器。
- 组件:是构成 UI 的基本元素,如按钮、编辑框、菜单等。
- 非可视组件:在运行时不可见,但提供重要功能,如
TTimer(定时器),TADOConnection(数据库连接),TOpenDialog(打开文件对话框)。
2 事件处理
事件是驱动应用程序交互的核心,用户操作(点击、输入)或系统消息(窗口创建、关闭)都会触发事件,您需要为事件编写处理函数来响应这些操作。
3 对象检查器
这是 RAD 的灵魂,您可以:
- 设置属性:在设计时修改组件的外观和行为。
- 创建事件处理程序:快速导航到代码并编写事件逻辑。
4 代码编辑器
- 代码补全:输入 或
->后,IDE 会列出所有可用的属性和方法。 - 代码模板:输入代码片段的前几个字母,按
Ctrl+J可以快速插入模板。 - 导航:使用
F12可以在窗体设计和代码定义之间快速切换。
常用组件介绍
- TButton: 按钮,最常用的交互组件。
- TEdit: 单行文本框,用于输入少量文本。
- TMemo: 多行文本框,用于输入或显示大段文本。
- TLabel: 标签,用于显示静态文本。
- TCheckBox: 复选框,提供“是/否”选择。
- TRadioButton: 单选按钮,在一组选项中只能选择一个。
- **TComboBox`: 下拉组合框,既可以输入也可以从列表中选择。
- **TListBox`: 列表框,显示一个项目列表供用户选择。
- **TStringGrid`: 字符串网格,用于显示和编辑表格数据。
- TTimer: 定时器组件,在指定的时间间隔触发
OnTimer事件。 - **TOpenDialog / TSaveDialog`: 打开和保存文件的标准对话框。
- **TMainMenu / TPopupMenu`: 创建主菜单和弹出菜单。
数据访问与数据库开发
C++ Builder 在数据库方面非常强大。
-
数据库连接:
- 使用
dbExpress驱动(跨平台、轻量级)或BDE(传统、功能强大)或ADO(基于 Windows)。 - 在窗体上放置一个
TSQLConnection组件,设置其ConnectionName,DriverName,Database等属性来连接到数据库。
- 使用
-
数据集:
TSQLDataSet/TClientDataSet:代表数据库中的一张表或一个查询结果。
-
数据源:
TDataSource:作为 UI 组件和数据集之间的桥梁。
-
数据感知组件:
- 这是 VCL 的魔力所在,您可以将
TDBEdit,TDBGrid,TDBNavigator等组件直接与TDataSource关联。 - 一旦关联,这些组件就能自动显示、编辑数据库中的数据,无需您编写任何代码来读取或写入。
- 这是 VCL 的魔力所在,您可以将
简单流程:
数据库 -> TSQLConnection -> TSQLDataSet -> TDataSource -> TDBGrid (在界面上)
高级主题
- 多线程:使用
TThread类来创建后台线程,避免在耗时操作(如网络请求、复杂计算)时冻结 UI。 - 自定义组件:继承现有组件,创建满足特定需求的全新组件。
- 第三方控件:从 Embarcadero Marketplace 或第三方网站(如 Torry's Delphi Pages)获取海量现成的控件,快速扩展功能。
- REST 客户端:内置 REST 客户端组件,轻松调用 Web API。
- 样式:在 FMX 中,可以使用样式来统一应用的外观和感觉。
学习资源与社区
- 官方文档:Embarcadero 官网有最权威的文档和帮助文件。
- Embarcadero DocWiki: https://docwiki.embarcadero.com/RADStudio/en/Home
- C++ Builder 官方博客:获取最新资讯和教程。
- 社区论坛:遇到问题,这里是最好的求助地方。
- Embarcadero Community: https://community.embarcadero.com/
- YouTube 频道:搜索 "Embarcadero Technologies" 或 "C++ Builder",有很多官方和社区的教学视频。
- GitHub: 搜索 "C++ Builder samples",可以找到大量示例代码。
C++ Builder 是一个功能强大且独特的开发工具,它完美地平衡了 C++ 语言的底层控制力和 RAD 工具的开发效率。
- 对于 C++ 开发者:它提供了一条快速构建 Windows 桌面应用和跨平台应用的新路径,无需深入了解复杂的 Win32 API 或跨平台 UI 库。
- 对于 Delphi 开发者:C++ Builder 是将现有 Delphi 技能和知识迁移到 C++ 生态系统的最佳桥梁。
希望这份教程能帮助您开启 C++ Builder 的学习之旅!从创建一个简单的项目开始,逐步探索其丰富的功能,您会发现它是一个令人惊叹的开发利器。
