sgcRichEdit 功能矩阵
sgcRichEdit 的全部功能,按任务分组,随后与适用于 Delphi、C++ Builder 和 .NET 的其他富文本编辑器进行比较。每个 sgcRichEdit 许可证都包含所有功能,没有 Community 版本。
sgcRichEdit 的全部功能,按任务分组,随后与适用于 Delphi、C++ Builder 和 .NET 的其他富文本编辑器进行比较。每个 sgcRichEdit 许可证都包含所有功能,没有 Community 版本。
| 功能 | 详情 |
|---|---|
| 文档模型 | TsgcRichDocument 保存段落、表格、分页符、样式、列表、图片、链接、文档属性和页面设置。它不依赖 VCL 或 FireMonkey。 |
| 原生 JSON | 读写文档的每一个细节。控件以 JSON 形式把文档存储在窗体文件中。 |
| HTML | 读取带有 CSS、表格、列表和图片(data URI,或通过事件获取的其他来源)的 HTML,包括 Word 和 Outlook 的列表提示。写出 HTML5,每个命名样式对应一个类。 |
| Markdown | 读写 CommonMark 子集:标题、强调、代码片段和代码块、引用、嵌套列表、链接、图片、GFM 表格和删除线。 |
| RTF | 读写 RTF,包括字体、颜色、样式、列表、合并表格和嵌套表格、超链接以及 PNG 和 JPEG 图片。来自 Word 的内容会保留其文本、格式、样式、列表、表格、链接和图片。 |
| 纯文本 | 文本读写,每行一个段落,支持字节顺序标记检测。 |
| 格式检测 | LoadFromFile、LoadFromStream 和 LoadFromString 会检测格式;AsJSON、AsHTML、AsRTF、AsMarkdown 和 AsText 以字符串形式读写文档。DOCX 和 PDF 是导出格式。 |
| 功能 | 详情 |
|---|---|
| 撤销和重做 | 每次更改都是一个撤销步骤,输入内容按单词分组,全部替换算作一个步骤。 |
| 键盘 | 文字处理器快捷键:Ctrl+B、Ctrl+I、Ctrl+U、Ctrl+L、Ctrl+E、Ctrl+R、Ctrl+J,Ctrl+Alt+1 到 3 设置标题,Ctrl+Shift+L 设置项目符号,Ctrl+K 插入链接,Ctrl+Z 和 Ctrl+Y,Ctrl+Enter 插入分页符,Tab 在表格单元格之间移动。 |
| 鼠标和触摸 | 单击、双击选词、三击选段、拖动选择、用手柄调整图片大小、拖动表格列边框。FireMonkey 控件提供触摸模式,支持点按、双击和长按选择手柄。 |
| 查找和替换 | 支持区分大小写、全字匹配、向后查找、在选区内查找和正则表达式,可跨段落和表格单元格。 |
| 命令 | ExecuteCommand 和 CommandState 涵盖格式、段落、列表、表格、图片、链接、剪贴板、撤销和查找,并为工具栏提供启用、选中和取值状态。 |
| 操作 | 每条命令都有 VCL 和 FireMonkey 操作,因此菜单、工具栏和功能区(例如 sgcToolbar)都可以绑定到编辑器。 |
| 功能 | 详情 |
|---|---|
| 表格 | 插入和删除行与列,跨列和跨行合并与拆分单元格,标题行,不跨页拆分的行,边框、背景、内边距、垂直对齐和嵌套表格。 |
| 图片 | 带替代文本的内嵌图片,可缩放到页面宽度,并可用手柄调整大小。PNG 和 BMP 为内置支持,JPEG 和 GIF 通过 VCL、FireMonkey 或 .NET 宿主解码。 |
| 超链接 | 插入和删除链接,Ctrl+单击并触发 OnLinkClick 事件,AutoOpenLinks 可通过系统外壳打开链接。 |
| 列表 | 项目符号、十进制数字、字母和罗马数字,共 9 级,支持起始编号和重新开始编号。 |
| 样式和格式 | 支持继承的段落样式、字符样式和表格样式;内置正文、标题 1 到 6、标题、副标题、引用、代码、列表段落、超链接和表格网格。字符格式包括字体、字号、粗体、斜体、下划线、删除线、颜色、突出显示、上标和下标;段落格式包括对齐、缩进、间距、行距、制表位、与下段同页和段前分页。 |
| 功能 | 详情 |
|---|---|
| 从右到左 | 支持阿拉伯语和希伯来语的从右到左段落,每个段落有各自的方向(从左到右、从右到左或自动)。 |
| 混合文本 | 同一段落中混排阿拉伯语和英语,阿拉伯文字正确连写,使用可视光标,选区绘制在读者期望的位置。 |
| IME | 日语、中文和韩语的内联组合输入,候选窗口显示在光标处。组合输入算作一个撤销步骤。 |
| 方向快捷键 | 与 Word 一样,Ctrl+右 Shift 和 Ctrl+左 Shift 设置段落方向。 |
| 功能 | 详情 |
|---|---|
| 复制 | 所选内容以 RTF、HTML 和纯文本放入剪贴板,另外还有一种私有格式,可在 sgcRichEdit 控件之间保留每一个细节。 |
| 粘贴 | 粘贴来自 Word 和浏览器的内容,并选择可用的最丰富格式。 |
| 纯文本粘贴 | Ctrl+Shift+V 粘贴不带格式的文本。 |
| 功能 | 详情 |
|---|---|
| 分页 | 每个文档有独立的页面设置;段落按行拆分并带有孤行和寡行控制,可保持各行在一起、与下段同页,支持分页符、按行拆分表格行,标题行在每一页重复。 |
| 打印和预览 | 在 VCL、FireMonkey、WinForms、WPF 和 Avalonia 上提供 Print 和 PrintPreview。 |
| PDF 导出 | ExportToPDF 通过随 sgcRichEdit 一同安装的 sgcPDF 引擎,写出带标签的 PDF,包含标题、段落、列表、表格、带替代文本的图形和链接。 |
| DOCX 导出 | 写出 Word 文档,包含样式、编号、带合并单元格的表格、超链接、图片和页面设置。无需外部 zip 库。 |
| PNG 导出 | ExportToPNG 按您选择的 DPI 渲染任意页面。 |
| 功能 | 详情 |
|---|---|
| UI Automation 文本模式 | Windows 上的屏幕阅读器可按字符、单词、行、段落和页面朗读文档,查询格式并跟随选区。适用于 VCL 控件、Windows 上的 FireMonkey 控件,以及 WinForms 和 WPF 控件。 |
| 图片和链接 | 图片以其替代文本命名;链接具有超链接角色,并且可以被调用。 |
| 键盘可达性 | 每个操作都有快捷键或命令,图片和表格可以通过键盘选择和调整大小,格式更改会被播报。 |
| 无障碍输出 | PDF 导出带有文档结构标签。请参阅 sgcUI 无障碍访问页面。 |
| 功能 | 详情 |
|---|---|
| 数据感知控件 | TsgcVCLDBRichEdit 和 TsgcFMXDBRichEdit 带有 DataSource 和 DataField,适用于字符串、memo、宽字符 memo 和 BLOB 字段。 |
| 存储格式 | FieldFormat:Auto、JSON、HTML、RTF、Markdown 或 Text。Auto 在读取时检测 JSON、RTF 和 HTML,并以读取到的格式写回。FieldEncoding:auto、UTF-8、ANSI 或 UTF-16。 |
| 编辑语义 | 首次更改会将数据集置于编辑模式,失去焦点时只写入一次字段,按 Esc 恢复字段值,切换记录时清除撤销历史。AutoDisplay 按需加载大型文档。 |
| WinForms 绑定 | DocumentText 可通过 DataBindings 绑定;该控件还带有 DataSource、DataMember、DataField、FieldFormat 和 FieldEncoding。 |
| WPF 和 Avalonia 绑定 | DocumentText 支持双向绑定,并在控件失去焦点时更新数据源;DocumentFormat 选择 JSON、HTML、RTF、Markdown 或文本。 |
| 功能 | 详情 |
|---|---|
| 12 种界面语言 | 命令名称、无障碍文本和消息提供英语、西班牙语、德语、法语、意大利语、葡萄牙语(巴西)、荷兰语、波兰语、土耳其语、日语、韩语和中文,由 Delphi 和 .NET 控件共用。 |
| 文档语言 | 每个文本片段和每份文档都可设置语言,并写入 PDF、HTML 和 DOCX 导出。 |
| 功能 | 详情 |
|---|---|
| 无需窗口 | 文档模型、格式、布局、分页和导出都不使用 VCL 或 FireMonkey,因此服务和守护进程可以转换和渲染文档。 |
| Linux64 | 与框架无关的单元可从 Delphi 10.2 起为 Linux64 编译。 |
| .NET | 核心库面向 .NET Standard 2.0、.NET Framework 4.7.2 以及 .NET 6、8、9 和 10;PNG 导出位于 Rendering 包中。 |
| 目标 | 组件 | 版本 |
|---|---|---|
| VCL | TsgcVCLRichEdit、TsgcVCLDBRichEdit | Delphi 7 至 13,C++ Builder 2007 至 13 |
| FireMonkey | TsgcFMXRichEdit、TsgcFMXDBRichEdit | Delphi 和 C++ Builder XE6 及更高版本 |
| Linux64 | 文档模型、格式、布局和导出 | Delphi 10.2 及更高版本 |
| WinForms | TsgcWinFormsRichEdit,带 Visual Studio 设计器和数据绑定 | Windows 上的 .NET Framework 4.7.2、.NET 8、9 和 10 |
| WPF | TsgcWpfRichEdit | Windows 上的 .NET Framework 4.7.2、.NET 8、9 和 10 |
| Avalonia | TsgcAvaloniaRichEdit | .NET 8、9 和 10 上的 Avalonia 12 |
C# 移植版,类名和成员名与 Delphi 版相同。这些包仅限 Registered 用户,不在 nuget.org 上发布。
| 包 | 版本 | 内容 |
|---|---|---|
esegece.sgcRichEdit | Registered | 文档模型、格式、布局和导出 |
esegece.sgcRichEdit.Rendering | Registered | 图像解码器和 PNG 页面导出 |
esegece.sgcRichEdit.WinForms | Registered | Windows Forms 控件 |
esegece.sgcRichEdit.WinForms.Design | Registered | 适用于 .NET 8 及更高版本的 Visual Studio 设计器 |
esegece.sgcRichEdit.Wpf | Registered | WPF 控件 |
esegece.sgcRichEdit.Avalonia | Registered | Avalonia 控件 |
每款产品都有各自的优势。下表列出各厂商在其公开页面上的说明,方便您判断哪一款适合您的项目。
| 产品 | 框架 | 文档格式 | 数据感知及说明 |
|---|---|---|---|
| sgcRichEdit | 适用于 Delphi 7 至 13 和 C++ Builder 2007 至 13 的 VCL 和 FireMonkey;适用于 .NET 的 WinForms、WPF 和 Avalonia | 读写 JSON、HTML、Markdown、RTF 和文本;导出 DOCX、PDF 和 PNG | TsgcVCLDBRichEdit 和 TsgcFMXDBRichEdit,.NET 数据绑定。Linux64 上的无界面渲染。sgcUI 的一部分。 |
| TRichView 和 ScaleRichView | 适用于 Delphi 和 C++Builder 的 VCL 和 FireMonkey 组件,以及 Lazarus LCL 组件 | 导入和导出 DocX、RTF、HTML、Markdown 等格式 | TDBRichView 和 TDBRichViewEdit。ScaleRichView 是同一厂商的独立产品,用于所见即所得编辑。 |
| DevExpress VCL Rich Edit Control | 适用于 Delphi 和 C++Builder 的 VCL。DevExpress 另外销售适用于 WinForms 和 WPF 的 Rich Text Editor。 | 内置 TXT 和 RTF;DOC、HTML 和 DOCX 通过额外单元支持 | DevExpress 将其描述为受 Microsoft Word 启发、功能完整的 RTF 控件,支持嵌套表格、合并单元格、打印布局视图和邮件合并。 |
| TMS FNC Rich Editor | TTMSFNCRichEditor,适用于 Delphi 的跨平台 FNC 控件。TMS 还在 TMS VCL UI Pack 中提供 TAdvRichEditor。 | 通过 TTMSFNCRichEditorIO 导入和导出 HTML,通过 TTMSFNCRichEditorPDFIO 输出 PDF,在 Windows 上通过单独的组件导入和导出 RTF | 通过 TTMSFNCRichEditorPrintIO 打印。 |
| TRichEdit | 仅限 Windows 上的 VCL。它封装了 Windows RichEdit 控件,随 Delphi 和 C++Builder 一同提供。 | RTF 和纯文本 | TDBRichEdit 是 VCL 中的数据感知版本。 |
第三方信息来自各厂商 2026 年 10 月的公开页面:trichview.com、devexpress.com、docs.devexpress.com 和 doc.tmssoftware.com。产品名称是其各自所有者的商标。请查看各厂商网站以获取最新详情。
sgcRichEdit 的文档包含在 sgcUI 帮助中,每种开发环境各有一个版本。