TMlSkinNCButton

放在窗体标题栏上的按钮,可以显示文字或图片,支持按下保持状态。

分类
标题栏控件
所在单元
uMlSkinNCButton.pas
继承自
TMlSkinCustomNCButtonTMlSkinNCCtrlBase

用法要点

  • 位置用基类的 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

名称类型默认值说明
Captionstring按钮上显示的文字,不需要文字时留空只显示图片。
CaptionOffsetTMlOffset文字相对按钮的偏移量(X、Y),用来微调文字位置。
FontTFont按钮文字的字体。
HotFontTFont鼠标移上去时的文字字体,可以用不同颜色做悬停效果。
TMlSkinCustomNCButton 的属性 6
名称类型默认值说明
AllowAllUpBooleanFalse同组按钮是否允许全部弹起。关掉后组内必须有一个处于按下状态。
PictureTPngPictures控件使用的图片,填图片资源 ID 或图片文件路径。
CursorTCursorcrDefault鼠标移到控件上时的指针形状。
DownBooleanFalse按钮是否处于按下状态,配合 GroupIndex 可做成开关或标签页效果。
GroupIndexInteger0分组编号。编号相同的按钮互斥,同一时间只有一个处于按下状态;0 表示不分组。
EnabledBooleanTrue是否可用。关掉后控件变灰且不响应操作。
TMlSkinCustomNCButton 的事件 1
名称类型默认值说明
OnClickTNotifyEvent点击时触发。
TMlSkinNCCtrlBase 的属性 6
名称类型默认值说明
AboutTMlAboutInfo设计期属性。在对象检查器里双击会弹出 MlSkin 的关于窗口,显示组件版本信息;运行时没有作用,也不会保存到 dfm。
PutSideTSideKindskdTop控件放在标题栏的哪一边:skdTop 上、skdBottom 下、skdLeft 左、skdRight 右。
TagInteger0自定义整数值,可以用来存放自己的标识,组件本身不使用。
PosTNCCtrlPos控件在该边上的位置:对齐方式加上 X、Y 偏移;UseDefault 打开时使用默认排布。
Hintstring鼠标停留时显示的提示文字。
VisibleBooleanTrue是否显示。
TMlSkinNCCtrlBase 的事件 5
名称类型默认值说明
OnLMouseDownTNotifyEvent鼠标左键在控件上按下时触发。
OnLMouseUpTNotifyEvent鼠标左键在控件上抬起时触发。
OnMouseEnterTNotifyEvent鼠标移入控件时触发。
OnMouseLeaveTNotifyEvent鼠标移出控件时触发。
OnDPIChangedTMlDPIChangedEvent屏幕 DPI 改变时触发(例如窗口被拖到另一块不同缩放的显示器上),可在这里重新调整自绘内容。

本页只列出 MlSkin 新增的属性和事件;Align、Anchors、Font、OnClick 等标准 VCL 属性同样可用,用法与原生控件一致。

离线帮助文档需要离线查阅时,可下载 PDF / CHM 版帮助文档。