用法要点
Position 是当前位置,Min、Max 是范围,PageSize 是一页的大小。
SmallChange 是点箭头移动的步长,LargeChange 是点空白区翻页的步长。
- 外观由一组
Scrollbar_... 图片属性决定:滑块和箭头各有正常、悬停、按下三种状态,横向和竖向分开。
AutoHide 打开后内容不需要滚动时自动隐藏。
示例
摘自 Demo:MlSkin.Demo.360云盘.v3.0(窗体文件 .dfm)
object mlsknscrlbr1: TMlSkinScrollBar
Left = 870
Top = 0
Width = 10
Height = 453
Scrollbar_bar_down = 'MlSkinScrollbar_bar_down'
Scrollbar_bar_highlight = 'MlSkinScrollbar_bar_highlight'
Scrollbar_bar_normal = 'MlSkinScrollbar_bar_normal'
Scrollbar_bkg = 'MlSkinScrollbar_bkg'
Scrollbar_arrowdown_normal = 'MlSkinScrollbar_arrowdown_normal'
Scrollbar_arrowup_normal = 'MlSkinScrollbar_arrowup_normal'
Scrollbar_horz_bkg = 'MlSkinScrollbar_horz_bkg'
Scrollbar_horzbar_down = 'MlSkinScrollbar_horzbar_down'
Scrollbar_horzbar_highlight = 'MlSkinScrollbar_horzbar_highlight'
Scrollbar_horzbar_normal = 'MlSkinScrollbar_horzbar_normal'
Scrollbar_arrowleft_normal = 'MlSkinScrollbar_arrowleft_normal'
Scrollbar_arrowright_normal = 'MlSkinScrollbar_arrowright_normal'
Scrollbar_arrowdown_down = 'MlSkinScrollbar_arrowdown_down'
Scrollbar_arrowdown_highlight = 'MlSkinScrollbar_arrowdown_highlight'
Scrollbar_arrowleft_down = 'MlSkinScrollbar_arrowleft_down'
属性 29
| 名称 | 类型 | 默认值 | 说明 |
|---|
Scrollbar_bar_down | TMlResID | — | 竖向滑块按下时的图片。 |
Scrollbar_bar_highlight | TMlResID | — | 竖向滑块鼠标移上时的图片。 |
Scrollbar_bar_normal | TMlResID | — | 竖向滚动条滑块的正常状态图片。 |
Scrollbar_bkg | TMlResID | — | 竖向滚动条的滑槽背景图片。 |
Scrollbar_arrowdown_normal | TMlResID | — | 向下箭头的正常状态图片。 |
Scrollbar_arrowup_normal | TMlResID | — | 向上箭头的正常状态图片。 |
Scrollbar_horz_bkg | TMlResID | — | 横向滚动条的滑槽背景图片。 |
Scrollbar_horzbar_down | TMlResID | — | 横向滑块按下时的图片。 |
Scrollbar_horzbar_highlight | TMlResID | — | 横向滑块鼠标移上时的图片。 |
Scrollbar_horzbar_normal | TMlResID | — | 横向滚动条滑块的正常状态图片。 |
Scrollbar_arrowleft_normal | TMlResID | — | 向左箭头的正常状态图片。 |
Scrollbar_arrowright_normal | TMlResID | — | 向右箭头的正常状态图片。 |
Scrollbar_arrowdown_down | TMlResID | — | 向下箭头按下时的图片。 |
Scrollbar_arrowdown_highlight | TMlResID | — | 向下箭头鼠标移上时的图片。 |
Scrollbar_arrowleft_down | TMlResID | — | 向左箭头按下时的图片。 |
Scrollbar_arrowleft_highlight | TMlResID | — | 向左箭头鼠标移上时的图片。 |
Scrollbar_arrowright_down | TMlResID | — | 向右箭头按下时的图片。 |
Scrollbar_arrowright_highlight | TMlResID | — | 向右箭头鼠标移上时的图片。 |
Scrollbar_arrowup_down | TMlResID | — | 向上箭头按下时的图片。 |
Scrollbar_arrowup_highlight | TMlResID | — | 向上箭头鼠标移上时的图片。 |
AutoHide | Boolean | False | 内容不需要滚动时是否自动隐藏滚动条。 |
CanFocused | Boolean | False | 控件是否可以获得焦点。关掉后点击不抢焦点,也不能用 Tab 切换到它。 |
Kind | TScrollBarKind | sbHorizontal | 滚动条方向:横向或竖向。 |
PageSize | Integer | 0 | 一页的大小,决定滑块的长度比例。 |
Min | Integer | 0 | 滚动范围的最小值。 |
Max | Integer | 100 | 滚动范围的最大值。 |
Position | Integer | 0 | 滚动条当前位置。 |
SmallChange | Integer | 1 | 点击箭头一次移动的距离。 |
LargeChange | Integer | 1 | 点击滑槽空白处一次移动的距离(翻页)。 |
事件 6
| 名称 | 类型 | 默认值 | 说明 |
|---|
OnChange | TNotifyEvent | — | 内容改变时触发。 |
OnLastChange | TNotifyEvent | — | 滚动到末端时触发,可用来做「加载更多」。 |
OnUpButtonClick | TNotifyEvent | — | 点击向上箭头按钮时触发。 |
OnDownButtonClick | TNotifyEvent | — | 点击向下箭头按钮时触发。 |
OnPageUp | TNotifyEvent | — | 向上翻页时触发。 |
OnPageDown | TNotifyEvent | — | 向下翻页时触发。 |
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 属性同样可用,用法与原生控件一致。