用法要点
Kind 决定这个按钮是关闭、最小化还是最大化,功能由组件自己处理,不需要写代码。
- 四个 Image 属性分别指定关闭、最小化、最大化和还原时用的图标;最大化按钮在窗体最大化后会自动换成
RestoresizeImage。
示例
摘自 Demo:MlSkin.Demo.360云盘.v3.0(窗体文件 .dfm)
object mlsknsystmbtn2: TMlSkinSystemButton
Pos.Align = caRight
Pos.XValue = 71
Pos.YValue = 0
Pos.UseDefault = False
Picture.Active = True
Picture.Image = '.\Res\min.png'
Picture.Normal = 0
Picture.Hot = 1
Picture.Disable = 0
Picture.Count = 3
Picture.Pressed = 2
Kind = bkMinimize
CloseImage = 'MlSkinBtn_close'
MinimizeImage = '.\Res\min.png'
MaximizeImage = 'MlSkinBtn_max'
RestoresizeImage = 'MlSkinBtn_restore'
Left = 336
Top = 112
end
属性 5
| 名称 | 类型 | 默认值 | 说明 |
|---|
Kind | TSystemButtonKind | bkClose | 按钮类型:bkClose 关闭、bkMinimize 最小化、bkMaximize 最大化,点击后自动执行对应动作。 |
CloseImage | TMlResID | — | 关闭按钮的图片(含正常、悬停、按下等帧)。 |
MinimizeImage | TMlResID | — | 最小化按钮的图片。 |
MaximizeImage | TMlResID | — | 最大化按钮的图片。 |
RestoresizeImage | TMlResID | — | 还原按钮的图片。窗体最大化后,最大化按钮会自动换成这张图。 |
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 属性同样可用,用法与原生控件一致。