TMlSkinSwitchButton

开关按钮(拨动开关),用来表示打开/关闭两种状态,相当于图形化的 CheckBox。

分类
按钮与工具栏
所在单元
uMlSkinSwitchButton.pas
继承自
TMlSkinCustomControl

用法要点

  • 状态读写用 Checked,状态改变时触发 OnChanged
  • 两种状态各用一张图片:ImageON 打开、ImageOFF 关闭;不指定图片时按 Color 自绘。
  • 可以在开关旁显示文字:CaptionONCaptionOFF 分别是两种状态的文字,CaptionAlign 决定文字在左还是在右。

示例

摘自 Demo:MlSkin.MainDemo.v3.0(窗体文件 .dfm)

object mlsknswtchbtn1: TMlSkinSwitchButton
  Left = 656
  Top = 152
  Width = 34
  Height = 18
  ImageOFF.Active = True
  ImageOFF.Image = 'MlSkinSwitch_off'
  ImageOFF.Normal = 0
  ImageOFF.Hot = 1
  ImageOFF.Disable = 0
  ImageOFF.Count = 3
  ImageOFF.Pressed = 2
  ImageON.Active = True
  ImageON.Image = 'MlSkinSwitch_on'
  ImageON.Normal = 0
  ImageON.Hot = 1
  ImageON.Disable = 0
  ImageON.Count = 3
  ImageON.Pressed = 2
  Checked = True

属性 10

名称类型默认值说明
CanFocusedBooleanTrue控件是否可以获得焦点。关掉后点击不抢焦点,也不能用 Tab 切换到它。
ImageOFFTPngPictures关闭状态的开关图片。
ImageONTPngPictures打开状态的开关图片。
CheckedBooleanFalse开关状态:True 为打开。改变时触发 OnChanged
CustomDrawTSWBCustomDraw自绘设置,用于不使用图片时自定义开关的画法。
CaptionVisibleBoolean是否显示文字。做纯图标按钮时关掉。
CaptionOFFstring关闭状态时显示的文字。
CaptionONstring打开状态时显示的文字。
CaptionAlignTMlSwitchButtonCaptionAlignsbcaLeft文字位置:sbcaLeft 在开关左边,sbcaRigth 在开关右边。
ColorTColorclWhite未指定图片时,自绘开关使用的颜色。

事件 1

名称类型默认值说明
OnChangedTNotifyEvent开关状态改变时触发。
TMlSkinCustomControl 的属性 4
名称类型默认值说明
AboutTMlAboutInfo设计期属性。在对象检查器里双击会弹出 MlSkin 的关于窗口,显示组件版本信息;运行时没有作用,也不会保存到 dfm。
TransparentBooleanTrue背景是否透明。打开后控件不画自己的底色,直接显示窗体的背景(图片或颜色)。
AutoInvalidateBooleanFalse内容变化时是否自动重绘。动态改属性看不到变化时可以打开。
EraseBackgroundBooleanFalse绘制前是否擦除背景。界面闪烁时可以调整这个开关。
TMlSkinCustomControl 的事件 4
名称类型默认值说明
OnDPIChangedTMlDPIChangedEvent屏幕 DPI 改变时触发(例如窗口被拖到另一块不同缩放的显示器上),可在这里重新调整自绘内容。
OnBackgroundChangingTMlBackgroundEvent背景即将改变时触发,可在这里干预要绘制的背景。
OnBackgroundChangedTMlCustomDrawEvent背景绘制完成后触发,可在背景之上继续自绘内容。
OnVisibleChangedTNotifyEvent控件显示或隐藏时触发。

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

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