TMlSkinPageControl
皮肤页签控件,多标签页切换,标签的图片、文字、位置都可以自定义。
用法要点
- 标签三种状态各一张图片:
TabNormalPicture正常、TabHotPicture悬停、TabDownPicture选中。 TabWidthAutoSize打开后标签宽度随文字自动变化;TextInHorizontal控制竖排标签时文字是否仍然横写。- 选中标签的字体可单独设置(
FontActive),还能用CaptionLight给文字加发光。 - 切换页签前触发
OnMlTabChanging,可在这里阻止切换(例如当前页有未保存内容)。 - 需要完全自定义标签外观时,用
OnMlDrawTab自绘。
示例
摘自 Demo:MlSkin.Demo.360安全卫士.v3.1(窗体文件 .dfm)
object mlsknpgcntrl1: TMlSkinPageControl
Left = 0
Top = 0
Width = 869
Height = 477
ActivePage = mlskntbsht1
Align = alClient
Font.Charset = DEFAULT_CHARSET
Font.Color = clWhite
Font.Height = -12
Font.Name = 'Tahoma'
Font.Style = []
MultiLine = True
ParentFont = False
TabHeight = 82
TabOrder = 1
TabWidth = 74
CaptionLight.Active = False
TabImageOffset.X = 12
TabImageOffset.Y = 5
属性 14
| 名称 | 类型 | 默认值 | 说明 |
|---|---|---|---|
About | TMlAboutInfo | — | 设计期属性。在对象检查器里双击会弹出 MlSkin 的关于窗口,显示组件版本信息;运行时没有作用,也不会保存到 dfm。 |
CaptionLight | TMlLightClass | — | 标签文字的发光效果:开关、颜色和模糊半径。 |
Transparent | Boolean | True | 背景是否透明。打开后控件不画自己的底色,直接显示窗体的背景(图片或颜色)。 |
TabImageOffset | TMlBtnItemOffset | — | 标签上图标的偏移量(X、Y)。 |
TabCaptionOffset | TMlBtnItemOffset | — | 标签上文字的偏移量(X、Y)。 |
TabsOffset | TMlBtnItemOffset | — | 整排标签相对控件的偏移量(X、Y)。 |
TabHotPicture | TMlResID | — | 鼠标移上标签时的背景图片。 |
TabDownPicture | TMlResID | — | 当前选中标签的背景图片。 |
TabNormalPicture | TMlResID | — | 普通标签的背景图片。 |
DefaultItemHeight | Integer | 26 | 标签的默认高度(像素)。 |
TextInHorizontal | Boolean | — | 标签竖排时文字是否仍然横向书写。 |
TabWidthAutoSize | Boolean | False | 标签宽度是否随文字长度自动调整。 |
FontActive | TFont | — | 当前选中标签的文字字体。 |
FontHot | TFont | — | 鼠标移上去时使用的字体。 |
事件 2
| 名称 | 类型 | 默认值 | 说明 |
|---|---|---|---|
OnMlTabChanging | TMlTabChangingEvent | — | 切换页签前触发,可在这里阻止切换(例如当前页有未保存的内容)。 |
OnMlDrawTab | TMlDrawTabEvent | — | 绘制标签时触发,可完全自定义标签外观。 |
本页只列出 MlSkin 新增的属性和事件;Align、Anchors、Font、OnClick 等标准 VCL 属性同样可用,用法与原生控件一致。