用法要点
AutoSlider 打开后自动轮播,SliderInterval 是每张停留的时间,SliderSpeed 是滑动的速度。
SliderType 选择切换方式;AutoImageSize 让图片自动适应控件大小。
- 左右翻页按钮的图片用
ButtonLeft、ButtonRight,点击时分别触发对应事件。
- 切换到下一张时触发
OnSliderPageChanged,点击底部圆点触发 OnDotButtonClick。
示例
摘自 Demo:MlSkin.Demo.图片轮播滑动显示.v4.6(窗体文件 .dfm)
object sld1: TMlSkinImageSlider
Left = 102
Top = 48
Width = 632
Height = 340
ButtonLeft.Active = True
ButtonLeft.Image = 'MlSkinSlides'
ButtonLeft.Normal = 2
ButtonLeft.Hot = 0
ButtonLeft.Disable = 0
ButtonLeft.Count = 4
ButtonLeft.Pressed = 2
ButtonRight.Active = True
ButtonRight.Image = 'MlSkinSlides'
ButtonRight.Normal = 3
ButtonRight.Hot = 1
ButtonRight.Disable = 0
ButtonRight.Count = 4
ButtonRight.Pressed = 2
Images = <
属性 15
| 名称 | 类型 | 默认值 | 说明 |
|---|
AutoImageSize | Boolean | True | 图片是否自动缩放到控件大小。 |
AutoSlider | Boolean | True | 是否自动轮播下一张图片。 |
ButtonLeft | TPngPictures | — | 向左翻页按钮的图片。 |
ButtonRight | TPngPictures | — | 向右翻页按钮的图片。 |
Images | TMlSkinSliderItemCollection | — | 图标来源的 ImageList。 |
SliderInterval | Integer | 3000 | 每张图片停留的时间(毫秒)。 |
SliderSpeed | Integer | 50 | 切换时滑动的速度。 |
SliderType | TSliderType | stLeftRight | 切换方式(滑动、淡入淡出等)。 |
Options | TImageSliderOptions | [soLeftRightButtonVisible, soDotButtonVisible] | 该控件的一组选项设置,展开后可分别调整。 |
Alpha | Byte | 192 | 透明度,0 为完全透明、255 为不透明。 |
BorderAlpha | Byte | 255 | 边框透明度,0 为完全透明、255 为不透明。 |
BorderSides | TSides | — | 画哪几条边框(上、下、左、右可任意组合)。 |
BorderColor | TColor | $00D9CBBA | 边框颜色。 |
Color | TColor | clWhite | 控件的底色。Transparent 打开时不生效。 |
DoubleBorder | Boolean | True | 双层边框,在边框内侧再画一条线。 |
事件 5
| 名称 | 类型 | 默认值 | 说明 |
|---|
OnLeftButtonClick | TNotifyEvent | — | 点击向左翻页按钮时触发。 |
OnRightButtonClick | TNotifyEvent | — | 点击向右翻页按钮时触发。 |
OnDotButtonClick | TNotifyEvent | — | 点击底部的圆点指示器时触发。 |
OnItemClick | TItemClickEvent | — | 点击某一项时触发。 |
OnSliderPageChanged | TNotifyEvent | — | 切换到另一张图片后触发。 |
TMlSkinCustomPanel 的事件 1
| 名称 | 类型 | 默认值 | 说明 |
|---|
OnCustomDraw | TMlCustomDrawEvent | — | 自绘事件,可在控件画完后继续绘制自己的内容。 |
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 属性同样可用,用法与原生控件一致。