sgcEditors 功能矩阵
按任务分类的 sgcEditors 全部功能,每项功能都链接到对应的帮助主题。每种控件都有 VCL、FireMonkey、WinForms、WPF 和 Avalonia 版本,属性和事件相同。
按任务分类的 sgcEditors 全部功能,每项功能都链接到对应的帮助主题。每种控件都有 VCL、FireMonkey、WinForms、WPF 和 Avalonia 版本,属性和事件相同。
| 功能 | 详情 | 社区版 | 帮助 |
|---|---|---|---|
| 月历 | 单个日期或日期范围,MinDate 和 MaxDate,禁用的日期和星期,ISO 8601 周数,以及月、年和十年视图。 | 帮助 | |
| 日期选择器 | 带下拉日历的日期输入,宽松的解析器可识别月份名称。 | 帮助 | |
| 时间选择器 | 在原生编辑框中输入时间。 | 帮助 | |
| 日期时间选择器 | 在一个控件中输入日期和时间。 | 帮助 | |
| 范围滑块 | 在滑块上选择一个值或一个范围。第二个滑块头仅限注册版。 | ~社区版:只绘制并编辑一个滑块;EndValue 会保留但不显示。 | 帮助 |
| 颜色选择器 | 选取颜色。HSV 方块和透明度条仅限注册版。 | ~社区版:仅有色板和十六进制;不绘制 HSV 方块和透明度条,透明度始终为 $FF。 | 帮助 |
| 标记编辑框 | 用于标签和收件人的标签块。自动完成列表仅限注册版。 | ~社区版:胶囊、验证和限制可用;自动补全列表不会打开。 | 帮助 |
| 评分 | 星级评分输入。 | 帮助 | |
| 微调编辑框 | 支持鼠标滚轮和自动重复的数字输入。 | 帮助 | |
| 按钮编辑框 | 原生编辑框,两侧可放置浏览、下拉、搜索、清除、加号、减号、文本或自绘按钮,每个按钮都有快捷键。屏幕阅读器会列出并可按下每个按钮。 | 帮助 | |
| 搜索编辑框 | 输入暂停后触发 OnSearch,按 Enter 则立即触发,带搜索和清除按钮,以及之前搜索的下拉历史。 | 帮助 | |
| 掩码编辑框 | 支持 Delphi EditMask 语法或 .NET MaskedTextBox 语法的输入掩码,由 MaskSyntax 选择,因此同一个掩码在 Delphi 和 .NET 中行为一致。不完整的值会报告给验证器。 | 帮助 | |
| 货币编辑框 | 精确的 Currency 值(.NET 中为 decimal),采用区域设置的货币格式、符号或 ISO 代码、范围限制,输入时分组显示。 | 帮助 | |
| 查找编辑框 | 带可选标题行的多列下拉列表,随输入过滤,包含键列和显示列。行来自 Items、OnGetItems,在 .NET 中也可来自 ItemsSource。 | 帮助 | |
| 备注框 | 带主题的多行编辑器,支持占位符、带可选上限的字符计数器,以及随行数变化的高度。 | 帮助 | |
| 开关 | TsgcVCLToggleSwitch 和 TsgcFMXToggleSwitch(.NET 中为 TsgcWinFormsToggleSwitch、TsgcWpfToggleSwitch 和 TsgcAvaloniaToggleSwitch)是用于设置的开关:一条圆角轨道,圆形滑块在约 150 ms 内滑向新状态,标题可放在右侧或左侧(CaptionPosition),轨道内可显示“开”和“关”文字(ShowText),支持 ReadOnly,轨道和滑块的颜色默认取自主题。OnChanging 取消用户的更改,OnChange 在每次更改后触发,Toggle 像用户一样更改状态。支持点击、拖动滑块、空格键、左右方向键、从右到左,以及带有面向屏幕阅读器的 Toggle 模式的复选框。Checked 在 WPF 和 Avalonia 中双向绑定。 | 帮助 | |
| IP 地址编辑框 | TsgcVCLIPAddressEdit 和 TsgcFMXIPAddressEdit(.NET 中为 TsgcWinFormsIPAddressEdit、TsgcWpfIPAddressEdit 和 TsgcAvaloniaIPAddressEdit)接受 IPv4 或 IPv6 地址(Mode)。IPv4 显示四个随输入自动前进的八位组字段,限制大于 255 的值,并在焦点离开时用 0 填充空字段;IPv6 是一个文本字段,在焦点离开时验证并按 RFC 5952 规范格式写出。支持 Address、Octets、IsValid、带主题错误边框的 Required、ReadOnly、Clear 和 OnChange。支持粘贴完整地址、从右到左,以及带有面向屏幕阅读器的 Value 模式的编辑框。Address 在 WPF 和 Avalonia 中双向绑定。 | 帮助 | |
| 时间跨度编辑框 | TsgcVCLTimeSpanEdit 和 TsgcFMXTimeSpanEdit(.NET 中为 TsgcWinFormsTimeSpanEdit、TsgcWpfTimeSpanEdit 和 TsgcAvaloniaTimeSpanEdit)以从天到毫秒的分段(Segments)编辑时长,可显示为时钟格式或带单位的格式(DisplayFormat)。支持以毫秒表示的 Value(.NET 中为 TimeSpan)、MinValue、MaxValue、AllowNegative、Increment、用于微调按钮的 ShowButtons 和 ReadOnly。输入、上下方向键、PageUp 和 PageDown、滚轮和微调按钮对当前分段步进,并向下一个分段进位。带有面向屏幕阅读器的 RangeValue 模式的微调框。Value 在 WPF 和 Avalonia 中双向绑定。 | 帮助 | |
| 字体选择器 | TsgcVCLFontPicker 和 TsgcFMXFontPicker(.NET 中为 TsgcWinFormsFontPicker、TsgcWpfFontPicker 和 TsgcAvaloniaFontPicker)从一个用各自字体绘制每个名称的下拉列表(ShowPreview、PreviewText)中选择字体系列,并随用户输入进行筛选。支持 FontName、在应用程序填充之前由平台填充的 Fonts、RefreshFonts、最近选择的系列置顶(RecentCount、RecentFonts)以及等宽筛选器(FontFilter)。Delphi 的预览字体在 Windows 上绘制。FontName 在 WPF 和 Avalonia 中双向绑定。 | 帮助 | |
| 复选列表框 | TsgcVCLCheckListBox 和 TsgcFMXCheckListBox(.NET 中为 TsgcWinFormsCheckListBox、TsgcWpfCheckListBox 和 TsgcAvaloniaCheckListBox)列出 Items,每行一个复选框:Checked、带灰色状态(AllowGrayed)的 State,以及每个项目的 ItemEnabled。支持三态的全选行(ShowCheckAll)、从不改变状态的筛选框(ShowFilter)、CheckAll、UncheckAll、CheckedCount,以及先于 OnChange 触发的 OnClickCheck。只绘制可见的行,因此 10000 个项目依然流畅。支持空格键、Ctrl+A、按字母键跳转,以及带有面向屏幕阅读器的 Toggle 模式的列表项。 | 帮助 | |
| 双列表框 | TsgcVCLDualListBox 和 TsgcFMXDualListBox(.NET 中为 TsgcWinFormsDualListBox、TsgcWpfDualListBox 和 TsgcAvaloniaDualListBox)通过列表之间的按钮、双击或拖放在 AvailableItems 和 SelectedItems 之间移动项目,并通过上移和下移(ShowReorderButtons)对 SelectedItems 重新排序。支持 SortAvailable、ShowFilter、ShowCaptions、ReadOnly、MoveToSelected、MoveAllToSelected、MoveToAvailable、MoveAllToAvailable、MoveUp 和 MoveDown 方法、用于保留项目的 OnMoving,以及每次操作一个 OnChange。支持多选、键盘移动和从右到左。SelectedItems 在 WPF 和 Avalonia 中双向绑定。 | 帮助 | |
| 触摸面板用 NumPad | TsgcVCLNumPad 是停靠在窗体上的屏幕数字键盘,TsgcVCLNumPadPopup 则在目标控件下方的下拉框中打开同一个键盘(FireMonkey 上为 TsgcFMXNumPad 和 TsgcFMXNumPadPopup,.NET 中也有 NumPad)。它可向微调编辑框、货币编辑框、sgcGauges 的旋钮和滑块仪表以及标准编辑框中输入内容,目标由 Associate 设置,或取自获得焦点的控件。键盘读取目标的范围和小数位数,并把数值作为用户更改写入,按键大小足以用手指或戴手套操作。 | 帮助 | |
| 屏幕键盘 | TsgcVCLKeyboard 是停靠在窗体上的完整屏幕键盘,TsgcVCLKeyboardPopup 则在获得焦点的编辑框下方的下拉框中打开同一个键盘,支持 AutoPopup、AutoPopupAll、PopupPosition 和 CloseOnEnter(FireMonkey 上为 TsgcFMXKeyboard 和 TsgcFMXKeyboardPopup,.NET 中为 TsgcWinFormsKeyboard、TsgcWpfKeyboard 和 TsgcAvaloniaKeyboard 及其弹出版本)。它写入获得焦点的控件或 Associate,并且从不抢走焦点。提供字母、符号和数字页面,支持 Shift、Caps Lock、AltGr 和死键,十种内置布局(en-US, en-GB, es-ES, fr-FR, de-DE, it-IT, pt-BR, nl-NL, pl-PL, tr-TR),用 sgcKeyboardRegisterLayout 注册的自定义布局,在 Layouts 中循环切换的布局键,以及主题、从右到左和辅助功能。OnKeyText 可更改或取消输入的文本,OnEnterKey 在回车之后运行。 | 帮助 | |
| 布局控件 | TsgcVCLLayoutControl 和 TsgcFMXLayoutControl(.NET 中为 TsgcWinFormsLayoutControl、TsgcWpfLayoutControl 和 TsgcAvaloniaLayoutControl)可以排列任何控件,sgcEditors 和标准控件均适用,支持分组、选项卡分组和多列,标题对齐到同一宽度,带有用户可拖动的分隔条、用户可隐藏的项目以及从右到左的布局。屏幕阅读器可以识别分组和选项卡。所有版本均包含;Delphi 社区版没有 sgcEditors 的设计时包,因此在那里需要用代码创建布局控件。 | 帮助 |
| 功能 | 详情 | 社区版 | 帮助 |
|---|---|---|---|
| 数据感知编辑器 | 日期选择器、时间选择器、微调编辑框、评分、范围滑块、按钮编辑框、掩码编辑框、货币编辑框、备注框和查找编辑框绑定 DataSource 和 DataField;范围滑块还绑定 EndDataField,查找编辑框通过 ListSource、KeyField 和 ListField 从第二个数据集填充其列表。空字段显示为空。适用于 Delphi 和 C++ Builder。 | 注册版 | 帮助 |
| WinForms 数据绑定 | WinForms 的日期和时间选择器、微调编辑框、评分、范围滑块以及按钮、掩码、货币、查找和备注编辑器通过 DataSource、DataMember 和 DataField 绑定字段:BindingSource、DataTable、DataView 或 List。 | 注册版 | 帮助 |
| 来自任意集合的查找列表 | ItemsSource、DisplayMember 和 ValueMember 在 WinForms、WPF 和 Avalonia 上填充查找编辑框;SelectedValue 和 SelectedItem 返回带类型的对象。 | 帮助 | |
| 验证 | sgcUICore 的验证器按必填、范围、长度、正则表达式、电子邮件、比较和自定义规则检查 sgcEditors 和标准控件,带边框、图标、汇总列表和无障碍消息,适用于 VCL、FireMonkey、WinForms、WPF 和 Avalonia。在 .NET 中它还会显示 IDataErrorInfo 和 INotifyDataErrorInfo 的错误。 | 帮助 | |
| 智能粘贴 | 月历、日期、时间和日期时间选择器、微调编辑框、评分、标记编辑框、颜色选择器、按钮编辑框、掩码编辑框、货币编辑框、查找编辑框和备注框都支持智能粘贴。TsgcVCLSmartPaste 和 TsgcFMXSmartPaste(.NET 中为 TsgcWinFormsSmartPaste、TsgcWpfSmartPaste 和 TsgcAvaloniaSmartPaste)会把粘贴的文本(例如电子邮件或地址块)转换为窗体中各控件的值,sgcEditors 以及标准的编辑框、组合框、复选框和日期控件均适用,并带有撤销和智能粘贴按钮。只有粘贴的文本和字段说明会发送给 AI 提供程序;未设置提供程序时,本地解析器会读取 Name: value 这样的行。 | 帮助 | |
| 数据表单生成器 | TsgcVCLDataForm 和 TsgcFMXDataForm 在布局控件上构建完整的编辑窗体:来自 TDataSet,每个字段按其类型选用一个 sgcEditors 控件;或通过 RTTI 和 BindObject 来自类的 published 属性。在 .NET 中,TsgcWinFormsDataForm、TsgcWpfDataForm 和 TsgcAvaloniaDataForm 接受 DataTable、DataView、列表或单个对象。Fields 设置每个字段的标题、类型、分组、选项卡和顺序,导航条提供第一条、上一条、下一条、最后一条、新建、编辑、删除、提交和取消。适用于 Delphi、C++ Builder 和 .NET。 | 注册版 | 帮助 |
| 数据表单验证 | 每个字段都会成为 sgcUICore 验证器的规则:必填、范围、长度、正则表达式和电子邮件,另有 OnValidateField 用于您自己的检查。Post 先验证记录,汇总列表显示错误,位于未显示选项卡上的无效字段会选中其所在的选项卡。 | 注册版 | 帮助 |
| 数据表单智能粘贴 | SmartPaste、SmartPasteAsync 和 SmartPasteFromClipboard(导航条上也有对应按钮)通过编辑器自己的智能粘贴所用的 AI 层,用粘贴的文本填充记录的每个字段。被填充的字段显示 AI 徽标,SmartPasteUndo 会恢复原来的值。未设置提供程序时,本地解析器会读取 Name: value 这样的行。 | 注册版 | 帮助 |
| 保存为 JSON 的布局 | SaveLayout 和 LoadLayout 以 JSON 形式(保存到字符串、流或文件)保存每个项目的顺序、父级、大小和可见性,每个选项卡分组的活动选项卡,以及用户隐藏的项目。旧版本保存的布局可以在新版本中加载。 | 帮助 |
| 功能 | 详情 | 社区版 | 帮助 |
|---|---|---|---|
| 真正的文本输入 | 日期、时间、数字和十六进制字段都是原生编辑框,因此输入法、剪贴板、撤销和屏幕阅读器均可正常使用。 | 帮助 | |
| 本地化 | 每个控件都有自己的区域设置:日期和月份名称、格式、每周第一天,以及每个控件独立的 FormatSettings。 | 帮助 | |
| 键盘 | F4 或 Alt+向下键展开下拉列表,日历中可使用方向键、PageUp 和 PageDown,微调编辑框支持鼠标滚轮和自动重复,每个编辑按钮都有快捷键,并带有焦点框。 | 帮助 | |
| 每显示器 DPI | 布局以 96 DPI 的逻辑像素计算,并按显示器缩放,下拉部分按其所在显示器的 DPI 绘制。 | 帮助 | |
| 从右到左(阿拉伯语和希伯来语) | 微调、下拉和清除按钮移到另一侧,滑块和评分的方向、日历的星期顺序、箭头和标记流向均已镜像,内部编辑框也采用相同的方向。 | 帮助 | |
| 屏幕阅读器和高对比度 | 每个编辑器都向 UI Automation 公开其角色、名称和值,复合编辑器的各个部分(日期部分、标记、评分星级、颜色、编辑按钮、查找列表)及其打开时的弹出窗口也一并公开,无效字段会报告其状态和错误消息。焦点环始终可见,并遵循 Windows 高对比度。默认开启,可用于 VCL(Delphi 7 到 13)、Windows 上的 FireMonkey、WinForms、WPF 和 Avalonia。 | 帮助 |
| 任务 | Delphi 自带控件 | sgcEditors |
|---|---|---|
| 从下拉面板中选择日期或时间 | TDateTimePicker | TsgcVCLDatePicker, TsgcVCLTimePicker |
| 一个控件中的日期和时间 | TDateTimePicker | TsgcVCLDateTimePicker |
| 选择有最大长度限制的日期范围 | TMonthCalendar | esmRange, MaxRangeDays |
| 屏蔽单个日期和星期几 | TMonthCalendar | DisabledDates, DisabledWeekDays, OnIsDateDisabled |
| 每个控件一种区域设置 | TDateTimePicker | FormatSettings |
| 使用 Delphi 或 .NET 掩码语法的掩码输入 | TMaskEdit | TsgcVCLMaskEdit, MaskSyntax |
| 从多列列表中选择一行 | TDBLookupComboBox | TsgcVCLLookupEdit, TsgcVCLDBLookupEdit |
| 带按钮的编辑框 | TButtonedEdit | TsgcVCLButtonEdit |
| 在触摸面板上输入数字 | TTouchKeyboard | TsgcVCLNumPad, TsgcVCLNumPadPopup |
| 在触摸屏上输入文本 | TTouchKeyboard | TsgcVCLKeyboard, TsgcVCLKeyboardPopup |
| 用于设置的开关 | TToggleSwitch | TsgcVCLToggleSwitch |
| 编辑 IPv4 或 IPv6 地址 | TMaskEdit | TsgcVCLIPAddressEdit |
| 输入超时这样的时长 | TSpinEdit | TsgcVCLTimeSpanEdit |
| 带预览地选择字体系列 | TComboBox 加 Screen.Fonts、TFontDialog | TsgcVCLFontPicker |
| 带复选框的选项列表 | TCheckListBox | TsgcVCLCheckListBox |
| 在两个列表之间移动项目 | 两个 TListBox 控件和按钮 | TsgcVCLDualListBox |
仅列出帮助文档中记载的功能,不含性能声明。
.NET 编辑器是名称和事件相同的 C# 移植版本,适用于 WinForms、WPF 和 Avalonia。在 WPF 中,值属性是支持双向绑定的依赖属性。查找编辑框在每个宿主上都接受 ItemsSource、DisplayMember 和 ValueMember,在注册版中,WinForms 编辑器通过 DataSource、DataMember 和 DataField 绑定字段。
| 包 | 版本 | 内容 |
|---|---|---|
esegece.sgcEditors.Community | 社区版(免费) | 核心库 |
esegece.sgcEditors.WinForms.Community | 社区版(免费) | Windows Forms 控件 |
esegece.sgcEditors.Wpf.Community | 社区版(免费) | WPF 控件 |
esegece.sgcEditors.Avalonia.Community | 社区版(免费) | Avalonia 控件 |
esegece.sgcEditors.Rendering.Community | 社区版(免费) | 无头渲染 |
esegece.sgcEditors | 注册版 | 核心库 |
esegece.sgcEditors.WinForms | 注册版 | Windows Forms 控件 |
esegece.sgcEditors.Wpf | 注册版 | WPF 控件 |
esegece.sgcEditors.Avalonia | 注册版 | Avalonia 控件 |
esegece.sgcEditors.Rendering | 注册版 | 无界面渲染 |
sgcEditors 的每项功能都记录在 sgcUI 帮助中,每种开发环境各有一个版本。