复合数控控件
# Smart 控件使用(复合数控)
该组中包含一些杂项组件。
# 1. TAbClock
该组件显示为一个数字时钟图形控件。可自动获取并显示当前的系统时间。
# 1.1. 属性
- TAbClock组件主要属性
| 属性 | 功能说明 |
|---|---|
| AutoHint | 是否自动创建提示 |
| BevelInner | 确定组件的内斜角的样式 |
| BevelOuter | 确定组件的外斜角的样式 |
| ClockOption | 设定时钟的属性 |
# 1.1.1. AutoHint属性
property AutoHint: Boolean;
该属性用于确定控件是否创建自动提示。
# 1.1.2. BevelInner属性
property BevelInner: TAbSBevel;
该属性用于确定组件的内斜角的样式。包含以下设置项目。
- BevelLine:设定边线的样式。
blNone:不显示线条。blInner:仅显示内线条。blOuter:仅显示外线条。blBoth:双线条。
- Color:设定填充颜色。
- OffSet:设定内边线位置的偏移量。
- PenColor:设定边线的颜色。
- Style:设定边线的样式。
- SurfaceGrad:设定背景的渐变外观样式。
# 1.1.3. BevelOuter属性
property BevelOuter: TAbSBevel;
该属性用于确定组件的外斜角的样式。包含以下设置项目。
- BevelLine:设定边线的样式。
blNone:不显示线条。blInner:仅显示内线条。blOuter:仅显示外线条。blBoth:双线条。
- Color:设定填充颜色。
- OffSet:设定外边线位置的偏移量。
- PenColor:设定边线的颜色。
- Style:设定边线的样式。
- SurfaceGrad:设定背景的渐变外观样式。
# 1.1.4. ClockOption属性
property ClockOption: TClockOption;
设定时钟的显示格式。coDate表示为仅显示日期。coDateTime表示为显示日期及时间。coTime表示为显示时间。
# 2. TAbAnalogClock组件
该组件显示为一个模拟指针的时钟。可自动获取并设置时间。

# 2.1. 属性
- TAbAnalogClock组件主要属性
| 属性 | 功能说明 |
|---|---|
| ColorDiaH | 设置时钟面板的整点刻度线的颜色 |
| ColorDiaM | 设置时钟面板的分钟刻度线的颜色 |
| ColorHHand | 设置时钟小时指针的颜色 |
| ColorMHand | 设置时钟分钟指针的颜色 |
| ColorSHand | 设置时钟秒指针的颜色 |
| Shadow | 设置指针的阴影浓度 |
| UseUtcOffset | 是否设置为UTC时间 |
| UTC_Offset | 设置UTC时差 |
# 3. TAbOpHourCounter组件
该组件可用于对操作时间进行计数。通过设置Count属性为True来启动计数器。如果达到设定的限制时间,则会触发OnLimit事件。通过设置CountDown属性为True以及Count为True,计数器将开启倒计时模式直至计数变为0。此时将发生OnZero事件。使用IniSettings属性,您可以指定一个文件(ini样式), 可以在加载或者销毁组件时节省时间。
使用SetTime方法可以设置计数器的时间。
# 3.1. 属性
- TAbOpHourCounter组件主要属性
| 属性 | 功能说明 |
|---|---|
| BevelInner | 设定组件内斜边的样式 |
| BevelOuter | 设定组件外斜边的样式 |
| Count | 是否开启计时功能 |
| CountDown | 是否启用倒计时功能 |
| HourDigits | 小时位显示的数值位数 |
| Indicate | 计时器显示的时刻形式 |
| IniSettings | ini文件的连接设置 |
| Limit | 时间限制的相关选项 |
| Options | 计时选项 |
| PresentValue | 当CountDown属性为True且Options中的opPresetOnZero为True时,预设的起始计数 |
| SeparatorChar | 用于标识时间格式的分隔符号 |
| SeparatorHour | 用于标识时间中“小时”后面的标记符号 |
| SeparatorMin | 用于标识时间中“分钟”后面的标记符号 |
| SeparatorSec | 用于标识时间中“秒”后面的标记符号 |
# 3.1.1. Count属性
property Count: Boolean;
如果该属性设置为True,则开启计时。
# 3.1.2. CountDown属性
property CountDown: Boolean;
如果该属性设置为True,则计时器更改为倒计时模式。
# 3.1.3. HourDigits属性
property HourDigits: Integer;
设定小时位显示的数字的位数。
# 3.1.4. Indicate属性
property Indicate: TOpHrIndicate;
设定计时器显示的时间格式形式。
- oiHourMinSec:显示时,分,秒。
- oiHourMin:显示时,分。
- oiHour:显示时。
# 3.1.5. IniSettings属性
property IniSettings: TIniSettings;
连接到ini文件的相关设置。
- AutoLoadSave:是否启用自动加载及保存配置。
- FileName:设定配置文件的名称。
- Section:设置设置片段的名称。
- UseAppDir:是否使用应用名称。
# 3.1.6. Limit属性
property Limit: TTimeSetting;
当计数器计数并达到此限制时,就会发生OnLimit事件。 如果Options属性中选择了opStopOnLimit,则达到限制后计时器将停止。Limit中包含Hour(时)、Min(分)、Sec(秒),设定该时分秒为限制点。
# 3.1.7. Options属性
property Options: TOpHrOptions;
设定属性的相关设置。
- opResetOnLimit:是否在计时达到限制后,重置计时器。
- opStopOnLimit:是否在计时达到限制后,停止计时。
- opPresentOnZero:是否显示为倒计时操作。
# 3.1.8. PresentValue属性
property PresetValue: TTimeSetting;
当CountDown属性为True且Options中的opPresetOnZero为True时,预设的起始计数 。其中包含Hour(时)、Min(分)、Sec(秒)。
# 3.1.9. SeparatorChar属性
property SeparatorChar: string;
用于标识时间格式的分隔符号。
# 3.1.10. SeparatorHour属性
property SeparatorHour: string;
用于标识时间中“小时”后面的标记符号。
# 3.1.11. SeparatorMin属性
property SeparatorMin: string;
用于标识时间中“分钟”后面的标记符号。
# 3.1.12. SeparatorSec属性
property SeparatorSec: string;
用于标识时间中“秒”后面的标记符号。
# 3.2. 事件
| 事件 | 何时触发 |
|---|---|
| OnContextPopup | 在右键单击控件或以其他方式调用弹出菜单(例如使用键盘)时触发该事件 |
| OnLimit | 如果达到选定的限制条件,则触发该事件 |
| OnZero | 如果时间计数变为0则触发该事件 |
# 4. TAbLabel组件
无闪烁的标签,可以根据整数输入值(Digit)显示不同的文本(DigitText)。
# 4.1. 属性
- TAbOpHourCounter组件主要属性
| 属性 | 功能说明 |
|---|---|
| DefaultText | 如果Digit输入的值不可用(在DigitText中),则显示默认的文本 |
| Digit | 根据Digit的值显示对应的文本(DigitText)。 |
| DigitText | 包含用分号分隔的文本 |
| Spacing | 设定文字边缘的间距 |
| TextPosH | 文本在控件内的水平方向上的位置,有phLeft(居左),phCenter(居中),phRight(居右)的设置 |
| TextPosV | 文本在控件内的垂直方向上的位置,有pvBottom(居底),pvCenter(居中),pvTop(居顶)的设置 |
# 5. TAbBevel组件
该组件显示为一个斜边框。
# 5.1. 属性
- TAbBevel组件主要属性
| 属性 | 功能说明 |
|---|---|
| BevelInner | 设定组件内斜边的样式 |
| BevelOuter | 设定组件外斜边的样式 |
| Options | 设定斜边显示的选项。opBevelInner表示是否显示内边框,opBevelOuter表示是否显示外边框,opTranparent表示背景是否透明 |
# 6. TAbPanel组件
该组件显示为一个面板。
# 6.1. 属性
- TAbPanel组件主要属性
| 属性 | 功能说明 |
|---|---|
| BevelInner | 设定组件内斜边的样式 |
| BevelOuter | 设定组件外斜边的样式 |
| Options | 设定斜边显示的选项。opBevelInner表示是否显示内边框,opBevelOuter表示是否显示外边框 |
# 7. TAbGradient组件
该组件用于绘制一个渐变色的图层。
# 7.1. 属性
- TAbGradient组件主要属性
| 属性 | 功能说明 |
|---|---|
| GradSettings | 设置渐变色的选项,ColorFrom表示渐变颜色的起始色,ColorTo表示为渐变颜色的终止色, Style表示为渐变色的样式,Visible表示为渐变色是否可见 |
# 8. TAbTimerSpeedBtn组件
该组件为一个可以自动重复进行点击操作的快速按钮。如果点击该按钮,则在一个StartDelay属性中指定的间隔时间后,启用一系列以Interval属性指定的时间间隔的OnClick事件。
# 8.1. 属性
- TAbTimerSpeedBtn组件主要属性
| 属性 | 功能说明 |
|---|---|
| Interval | 设定重复点击事件的时间间隔,以ms为单位 |
| StartDelay | 设定间隔时间开始前的延时,以ms为单位 |
| TimerEnabled | 是否启用按钮的重复点击 |
# 9. TAbSpinButton组件
该组件为旋转按钮编辑/调整值的组件。
# 9.1. 属性
- TAbSpinButton组件主要属性
| 属性 | 功能说明 |
|---|---|
| DownGlyph | 指定下按钮位置显示的位图图片 |
| DownNumGlyphs | 指定多个DownGlyph属性的图片源 |
| Enabled | 组件是否相应鼠标,键盘以及计数器事件 |
| Interval | 如果用于持续按住按钮,则指定其连续响应点击事件的时间间隔,以ms为单位 |
| StartDelay | 设定启用自动重复点击事件前的时间延迟,以ms为单位 |
| UpGlyph | 指定上按钮位置显示的位图图片 |
| UpNumGlyphs | 指定多个UpGlyph属性的图片源 |
| Visble | 是否显示该控件 |
# 9.2. 事件
| 事件 | 何时触发 |
|---|---|
| OnDownClick | 当用户点击下按钮时触发该事件 |
| OnUpClick | 当用户点击上按钮时触发该事件 |
# 10. TAbNumEdit组件
该组件是在键入时具有输入验证的数字编辑组件,并具有可选的基数。
- 可选
EditBase以输入整数,浮点数,十六进制或布尔值 - 用户和基础相关的最小/最大限制
- 前缀,用于更改输入值的
EditBase - 浮点输入已启用指数(e和E)
- 乘数char(最后一个符号)
- 可在编辑时按ESC作为撤销按钮
- 向上/向下箭头键支持
用于更改EditBase的前缀类型:
| 前缀 | 描述 |
|---|---|
| $ | 十六进字符串 |
| & | 二进制字符串 |
| % | 整形数值 |
| ! | 浮点数值 |
支持的乘数字符:
| 字符 | 含义 | 因子 |
|---|---|---|
| E | Exa(兆兆兆) | 1e18 |
| P | Peta(千兆兆) | 1e15 |
| T | Tera(兆兆) | 1e12 |
| G | Giga(千兆) | 1e9 |
| M | Mega(兆) | 1e6 |
| k | kilo(千) | 1e3 |
| m | milli(毫) | 1e-3 |
| u | Micro(微) | 1e-6 |
| n | nano(纳) | 1e-9 |
| p | pico(皮) | 1e-12 |
| f | femto(飞) | 1e-15 |
| a | atto(阿) | 1e-18 |
- 例如
EditBase属性设置为ebFloat
- 指数:如需输入的值为
1000,你可以输入1e3或者e3。 - 乘数字符:如需输入的值为
1000,你可以输入1k或者k。 - 布尔值类型的输入转换成浮点数、整数或者十六进制类型,使用前缀
&。例如&101。 - 十六进制类型的输入转换成浮点是,整数或者布尔值类型,使用前缀
&。例如&FF。
# 10.1. 属性
- TAbNumEdit组件主要属性
| 属性 | 功能说明 |
|---|---|
| ColorDefault | 设置输入框的默认颜色 |
| ColorEditing | 编辑输入内容判断为有效时的背景颜色 |
| ColorError | 编辑输入内容判断为无效时的背景颜色 |
| DigitsBool | 输入框显示布尔值的位数,有效输入值:0..31,如果输入为0则不会显示前导0 |
| DigitsHex | 输入框显示十六进制的位数,有效输入值:0...8,如果显示为0则不会显示前导0 |
| EditBase | 数字输入显示的数据类型,ebBin表示为二进制,ebFloat表示为浮点数,ebHex表示为十六进制,ebInt表示为整数类型 |
| EditorEnabled | 是否启用编辑模式 |
| FormatStr | 浮点数显示的格式化类型 |
| Increment | 指定每次按下向上或向下按钮时值更改的量。 |
| MaxLength | 指定用户可以输入到编辑控件的最大字符数。 值为0表示没有应用程序定义的长度限制 |
| MaxValue | 用户定义的上限 |
# 11. TAbNumSpin组件
该组件是带上下按钮的编辑框,用于输入/调整浮点数,整数,十六进制或二进制值。
- 包含
TAbNumEdit的所有功能。 - 具有最小值、最大值的限制。
- 可选增量(浮点数)。
- 乘法计数上下选择的增量。
- 上下选择的响应时间间隔(≥50ms)。
- 上下选择响应的起始延迟时间。
- 乘法选择。
- 如果在
Options属性中选择eoMultiply,则增量用于乘法(向上)和除法(向下)。
调整后的值可以限制为最小值/最大值(如果选项中为eoLimitMin / eoLimitMax)。 如果出现限制相应的按钮变为“未启用”(灰色)。
# 11.1. 属性
- TAbNumSpin组件主要属性
| 属性 | 功能说明 |
|---|---|
| ColorDefault | 设置输入框的默认颜色 |
| ColorEditing | 编辑输入内容判断为有效时的背景颜色 |
| ColorError | 编辑输入内容判断为无效时的背景颜色 |
| DigitsBool | 输入框显示布尔值的位数,有效输入值:0..31,如果输入为0则不会显示前导0 |
| DigitsHex | 输入框显示十六进制的位数,有效输入值:0...8,如果显示为0则不会显示前导0 |
| EditBase | 数字输入显示的数据类型,ebBin表示为二进制,ebFloat表示为浮点数,ebHex表示为十六进制,ebInt表示为整数类型 |
| EditorEnabled | 是否启用编辑模式 |
| FormatStr | 浮点数显示的格式化类型 |
| Increment | 指定每次按下向上或向下按钮时值更改的量。 |
| Interval | 如果用户按住向上,向下按钮时,自动重复响应事件的时间间隔。 |
| MaxLength | 指定用户可以输入到编辑控件的最大字符数。 值为0表示没有应用程序定义的长度限制 |
| MaxValue | 用户定义的上限 |
| StartDelay | 设置点击按钮的延迟 |
# 12. TAbBMask组件
改组件是位图遮罩组件的父组件,该组件在组件工具栏中是不可见的。
# 12.1. 属性
- TAbBMask组件主要属性
| 属性 | 功能说明 |
|---|---|
| ColorShape | 负责组件的形状,具有此颜色的图片的所有区域均不包括在组件形状中 |
| Picture | 形状图形 |
# 13. TAbMaskCanvas组件
该组件在所有颜色为ColorCanvas的像素周围创建一个矩形,并创建一个具有此矩形尺寸的位图,该位图用于双缓冲图形以避免闪烁。您可以通过ClipRect获得画布的宽度/高度。
# 13.1. 属性
- TAbBMask组件主要属性
| 属性 | 功能说明 |
|---|---|
| ColorShape | 负责组件的形状,具有此颜色的图片的所有区域均不包括在组件形状中 |
| Picture | 形状图形 |
| ColorCanvas | 负责组件的形状,具有此颜色的图片的所有区域都包含在自定义画布中 |
# 13.2. 事件
| 事件 | 何时触发 |
|---|---|
| OnChange | 当自定义画布部件需要重绘时触发该事件 |