用法要点
- 总页数用
NumCount 设定;点上一页、下一页分别触发 OnPreviousClick、OnNextClick。
- 页码改变时触发
OnNumChanged,在这里加载对应页的数据。
Kinds 决定显示哪些部分(页码、上下页按钮、跳转框等)。
- 普通页码和当前页的颜色、字体分开设置:
ColorNormal、ColorFocus、FontFocus。
示例
摘自 Demo:MlSkin.Demo.翻页栏+透明背景ListBox.v.3.0(窗体文件 .dfm)
object mlcb1: TMlSkinCountBar
Left = 1
Top = 428
Width = 591
Height = 34
Color = 16185078
FontFocus.Charset = DEFAULT_CHARSET
FontFocus.Color = clWhite
FontFocus.Height = -13
FontFocus.Name = 'Tahoma'
FontFocus.Style = []
ColorNormal = clWhite
OnSkipClick = mlcb1SkipClick
OnNumChanged = mlcb1NumChanged
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -13
Font.Name = 'Tahoma'
Font.Style = []
Alpha = 196
属性 20
| 名称 | 类型 | 默认值 | 说明 |
|---|
AlignWithItems | TMlItemHAlign | ihaLeft | 项目在控件内的水平对齐方式:ihaLeft 靠左、ihaCenter 居中、ihaRight 靠右。 |
AlignVerticalWithItems | TMlItemVAlign | ihavTop | 项目在控件内的垂直对齐方式:顶端、居中或底端。 |
CaptionVisible | Boolean | True | 是否显示文字。做纯图标按钮时关掉。 |
ItemWidth | Integer | — | 每一项的宽度(像素)。 |
ItemHeight | Integer | — | 每一项的高度(像素)。 |
ItemSpaceSize | Integer | 10 | 项目之间的间距(像素)。 |
MarginBorderSize | Integer | 10 | 内容与控件边缘的间距(像素)。 |
Kinds | TCountKinds | — | 翻页栏显示哪些部分,可多选:页码、上一页/下一页按钮、跳转输入框等。 |
NumCount | Cardinal | 5 | 总页数。 |
FontFocus | TFont | — | 当前页码的字体。 |
ColorNormal | TColor | $00EEEEEE | 普通页码的底色。 |
ColorFocus | TColor | $004966FE | 当前页码的底色。 |
Alpha | Byte | 192 | 透明度,0 为完全透明、255 为不透明。 |
BorderSides | TSides | — | 画哪几条边框(上、下、左、右可任意组合)。 |
BorderColor | TColor | $00D9CBBA | 边框颜色。 |
Color | TColor | clWhite | 控件的底色。Transparent 打开时不生效。 |
BackgroundImage | TMlResID | — | 背景图片,填图片资源 ID 或图片文件路径。 |
BackgroundOffsetX | Integer | 0 | 背景图片的横向偏移(像素)。 |
BackgroundOffsetY | Integer | 0 | 背景图片的纵向偏移(像素)。 |
DoubleBorder | Boolean | True | 双层边框,在边框内侧再画一条线。 |
事件 8
| 名称 | 类型 | 默认值 | 说明 |
|---|
OnDrawItem | TMlIconButtonItemDrawEnvent | — | 绘制某一项时触发,可以自定义该项的外观。 |
OnGetCursor | TMlGetCursorEvent | — | 取鼠标指针形状时触发,可针对不同区域返回不同指针。 |
OnHotChanged | TItemHot | — | 鼠标悬停的项目发生变化时触发。 |
OnFocusChanging | TStateChange | — | 焦点项目即将改变时触发。 |
OnNextClick | TNotifyEvent | — | 点击「下一页」时触发。 |
OnPreviousClick | TNotifyEvent | — | 点击「上一页」时触发。 |
OnSkipClick | TNotifyEvent | — | 使用跳转框跳到指定页时触发。 |
OnNumChanged | 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 属性同样可用,用法与原生控件一致。