用法要点
- 位置用基类的
PutSide(放在哪一条边)和 Pos(对齐方式与偏移)设定。
- 四种状态的图片在
Picture 里指定:一张图片按帧分出正常、悬停、按下、禁用。
GroupIndex 相同的按钮互斥,配合 Down 可以做成标签式的切换按钮。
示例
摘自 Demo:MlSkin.Demo.360云盘.v3.0(窗体文件 .dfm)
object ncbtn1: TMlSkinNCButton
Pos.Align = caLeft
Pos.XValue = 200
Pos.YValue = 0
Pos.UseDefault = False
Picture.Active = True
Picture.Image = '.\Res\p1.png'
Picture.Normal = 0
Picture.Hot = 1
Picture.Disable = 0
Picture.Count = 2
Picture.Pressed = 1
Cursor = crHandPoint
Down = True
GroupIndex = 1
OnClick = ncbtn1Click
CaptionOffset.X = 0
CaptionOffset.Y = 0
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
属性 4
| 名称 | 类型 | 默认值 | 说明 |
|---|
Caption | string | — | 按钮上显示的文字,不需要文字时留空只显示图片。 |
CaptionOffset | TMlOffset | — | 文字相对按钮的偏移量(X、Y),用来微调文字位置。 |
Font | TFont | — | 按钮文字的字体。 |
HotFont | TFont | — | 鼠标移上去时的文字字体,可以用不同颜色做悬停效果。 |
TMlSkinCustomNCButton 的属性 6
| 名称 | 类型 | 默认值 | 说明 |
|---|
AllowAllUp | Boolean | False | 同组按钮是否允许全部弹起。关掉后组内必须有一个处于按下状态。 |
Picture | TPngPictures | — | 控件使用的图片,填图片资源 ID 或图片文件路径。 |
Cursor | TCursor | crDefault | 鼠标移到控件上时的指针形状。 |
Down | Boolean | False | 按钮是否处于按下状态,配合 GroupIndex 可做成开关或标签页效果。 |
GroupIndex | Integer | 0 | 分组编号。编号相同的按钮互斥,同一时间只有一个处于按下状态;0 表示不分组。 |
Enabled | Boolean | True | 是否可用。关掉后控件变灰且不响应操作。 |
TMlSkinCustomNCButton 的事件 1
| 名称 | 类型 | 默认值 | 说明 |
|---|
OnClick | TNotifyEvent | — | 点击时触发。 |
TMlSkinNCCtrlBase 的属性 6
| 名称 | 类型 | 默认值 | 说明 |
|---|
About | TMlAboutInfo | — | 设计期属性。在对象检查器里双击会弹出 MlSkin 的关于窗口,显示组件版本信息;运行时没有作用,也不会保存到 dfm。 |
PutSide | TSideKind | skdTop | 控件放在标题栏的哪一边:skdTop 上、skdBottom 下、skdLeft 左、skdRight 右。 |
Tag | Integer | 0 | 自定义整数值,可以用来存放自己的标识,组件本身不使用。 |
Pos | TNCCtrlPos | — | 控件在该边上的位置:对齐方式加上 X、Y 偏移;UseDefault 打开时使用默认排布。 |
Hint | string | — | 鼠标停留时显示的提示文字。 |
Visible | Boolean | True | 是否显示。 |
TMlSkinNCCtrlBase 的事件 5
| 名称 | 类型 | 默认值 | 说明 |
|---|
OnLMouseDown | TNotifyEvent | — | 鼠标左键在控件上按下时触发。 |
OnLMouseUp | TNotifyEvent | — | 鼠标左键在控件上抬起时触发。 |
OnMouseEnter | TNotifyEvent | — | 鼠标移入控件时触发。 |
OnMouseLeave | TNotifyEvent | — | 鼠标移出控件时触发。 |
OnDPIChanged | TMlDPIChangedEvent | — | 屏幕 DPI 改变时触发(例如窗口被拖到另一块不同缩放的显示器上),可在这里重新调整自绘内容。 |
本页只列出 MlSkin 新增的属性和事件;Align、Anchors、Font、OnClick 等标准 VCL 属性同样可用,用法与原生控件一致。