用法要点
Animate 指定动画图片和帧数:一张竖排(或横排)的连续帧图片。
AnimateSpeed 控制播放速度,数值越小越快。
示例
摘自 Demo:MlSkin.MainDemo.v3.0(窗体文件 .dfm)
object btn9: TMlSkinAnimateButton
Left = 60
Top = 34
Width = 30
Height = 30
AutoInvalidate = True
Down = False
HotFont.Charset = DEFAULT_CHARSET
HotFont.Color = clWindowText
HotFont.Height = -11
HotFont.Name = 'Tahoma'
HotFont.Style = []
DropdownMenuOffset.X = -4
DropdownMenuOffset.Y = -4
Caption = 'btn3'
TabOrder = 1
TabStop = True
CaptionVisible = False
Animate.Picture = '.\Res\a2.png'
Animate.Count = 6
属性 4
| 名称 | 类型 | 默认值 | 说明 |
|---|
CaptionOffset | TMlBtnItemOffset | — | 文字相对控件的偏移量(X、Y),用来微调文字位置。 |
CaptionVisible | Boolean | — | 是否显示文字。做纯图标按钮时关掉。 |
Animate | TMlAnimatePicture | — | 动画图片:Picture 指定连续帧图片,Count 说明帧数。 |
AnimateSpeed | Cardinal | 80 | 动画播放速度(帧间隔毫秒),数值越小播放越快。 |
TMlSkinCustomButton 的属性 15
| 名称 | 类型 | 默认值 | 说明 |
|---|
About | TMlAboutInfo | — | 设计期属性。在对象检查器里双击会弹出 MlSkin 的关于窗口,显示组件版本信息;运行时没有作用,也不会保存到 dfm。 |
AllowAllUp | Boolean | False | 同组按钮是否允许全部弹起。关掉后组内必须有一个处于按下状态。 |
IgnoreMouse | Boolean | False | 忽略鼠标。打开后控件不响应鼠标,事件穿透到下面的控件。 |
CycleDownClick | Boolean | False | 按住不放时循环触发点击,常用于数值增减按钮;触发的是 OnCycleDownClick。 |
WordWrap | Boolean | False | 文字过长时是否换行显示。 |
Down | Boolean | — | 按钮是否处于按下状态,配合 GroupIndex 可做成开关或标签页效果。 |
HotFont | TFont | — | 鼠标移上去时使用的字体,可换颜色或加下划线做悬停效果。 |
GroupIndex | Integer | 0 | 分组编号。编号相同的按钮互斥,同一时间只有一个处于按下状态;0 表示不分组。 |
DropdownMenuOffset | TMlBtnItemOffset | — | 下拉菜单弹出位置的偏移量(X、Y)。 |
PressedOffset | Integer | 1 | 按下时内容向右下偏移的像素数,用来做按下去的效果,0 表示不偏移。 |
CanFocused | Boolean | True | 控件是否可以获得焦点。关掉后点击不抢焦点,也不能用 Tab 切换到它。 |
Default | Boolean | False | 是否为默认按钮。窗体上按回车时相当于点击它。 |
Cancel | Boolean | False | 是否为取消按钮。窗体上按 Esc 时相当于点击它。 |
ModalResult | TModalResult | 0 | 点击后给模态窗体返回的结果值,用法与标准按钮相同。 |
ShowFocusFrame | Boolean | False | 是否显示焦点虚线框。 |
TMlSkinCustomButton 的事件 2
| 名称 | 类型 | 默认值 | 说明 |
|---|
OnCustomPaint | TCustomPaintEvent | — | 自绘事件。需要完全自己画按钮时,在这里接管绘制。 |
OnCycleDownClick | TNotifyEvent | — | 按住不放期间反复触发(需先打开 CycleDownClick)。 |
TMlSkinCustomControl 的属性 5
| 名称 | 类型 | 默认值 | 说明 |
|---|
About | TMlAboutInfo | — | 设计期属性。在对象检查器里双击会弹出 MlSkin 的关于窗口,显示组件版本信息;运行时没有作用,也不会保存到 dfm。 |
Transparent | Boolean | True | 背景是否透明。打开后控件不画自己的底色,直接显示窗体的背景(图片或颜色)。 |
Color | TColor | clWhite | 控件的底色。Transparent 打开时不生效。 |
AutoInvalidate | Boolean | False | 内容变化时是否自动重绘。动态改属性看不到变化时可以打开。 |
EraseBackground | Boolean | False | 绘制前是否擦除背景。界面闪烁时可以调整这个开关。 |
TMlSkinCustomControl 的事件 4
| 名称 | 类型 | 默认值 | 说明 |
|---|
OnDPIChanged | TMlDPIChangedEvent | — | 屏幕 DPI 改变时触发(例如窗口被拖到另一块不同缩放的显示器上),可在这里重新调整自绘内容。 |
OnBackgroundChanging | TMlBackgroundEvent | — | 背景即将改变时触发,可在这里干预要绘制的背景。 |
OnBackgroundChanged | TMlCustomDrawEvent | — | 背景绘制完成后触发,可在背景之上继续自绘内容。 |
OnVisibleChanged | TNotifyEvent | — | 控件显示或隐藏时触发。 |
本页只列出 MlSkin 新增的属性和事件;Align、Anchors、Font、OnClick 等标准 VCL 属性同样可用,用法与原生控件一致。