用法要点
- 帧图片放在
Images(ImageList)里,按顺序播放。
Delay 是每帧之间的间隔(毫秒),Loop 控制是否循环,Reverse 打开后倒着播。
CurrentFrame 可以读写当前播到第几帧,用来手动定位。
- 播放完一轮触发
OnFinish,每帧切换触发 OnProcess。
示例
摘自 Demo:MlSkin.Demo.动画演示.v3.0(窗体文件 .dfm)
object MlSkinAnimation1: TMlSkinAnimation
Left = 87
Top = 200
Width = 46
Height = 47
CurrentFrame = 0
Images = il1
Delay = 50
DoubleBuffered = False
end
属性 7
| 名称 | 类型 | 默认值 | 说明 |
|---|
CurrentFrame | Integer | — | 当前播放到第几帧,可读可写,用来手动定位动画。 |
AutoSize | Boolean | True | 是否按内容自动调整控件大小。 |
Images | TCustomImageList | — | 动画帧的来源 ImageList,按列表顺序播放。 |
Delay | Integer | 68 | 每帧之间的间隔(毫秒),数值越小播放越快。 |
Loop | Boolean | True | 是否循环播放。关掉后播完一轮停在最后一帧。 |
Reverse | Boolean | False | 是否倒序播放。 |
Color | TColor | clWhite | 控件的底色。Transparent 打开时不生效。 |
事件 2
| 名称 | 类型 | 默认值 | 说明 |
|---|
OnProcess | TNotifyEvent | — | 每切换一帧时触发。 |
OnFinish | TNotifyEvent | — | 播放完一轮时触发。 |
TMlSkinCustomControl 的属性 4
| 名称 | 类型 | 默认值 | 说明 |
|---|
About | TMlAboutInfo | — | 设计期属性。在对象检查器里双击会弹出 MlSkin 的关于窗口,显示组件版本信息;运行时没有作用,也不会保存到 dfm。 |
Transparent | Boolean | True | 背景是否透明。打开后控件不画自己的底色,直接显示窗体的背景(图片或颜色)。 |
AutoInvalidate | Boolean | False | 内容变化时是否自动重绘。动态改属性看不到变化时可以打开。 |
EraseBackground | Boolean | False | 绘制前是否擦除背景。界面闪烁时可以调整这个开关。 |
TMlSkinCustomControl 的事件 4
| 名称 | 类型 | 默认值 | 说明 |
|---|
OnDPIChanged | TMlDPIChangedEvent | — | 屏幕 DPI 改变时触发(例如窗口被拖到另一块不同缩放的显示器上),可在这里重新调整自绘内容。 |
OnBackgroundChanging | TMlBackgroundEvent | — | 背景即将改变时触发,可在这里干预要绘制的背景。 |
OnBackgroundChanged | TMlCustomDrawEvent | — | 背景绘制完成后触发,可在背景之上继续自绘内容。 |
OnVisibleChanged | TNotifyEvent | — | 控件显示或隐藏时触发。 |
本页只列出 MlSkin 新增的属性和事件;Align、Anchors、Font、OnClick 等标准 VCL 属性同样可用,用法与原生控件一致。