TMlSkinTagsBox

标记框控件,把内容显示成一个个带底色的小标签,每个标签可以单独点击或删除。

分类
面板与容器
所在单元
uMlSkinTagsBox.pas
继承自
TMlSkinCustomTagsBoxTMlSkinCustomPanelTMlSkinCustomControl

用法要点

  • 标签放在 Items 集合里,每项有文字、颜色、是否可用。
  • DeleteButton 设置标签上的删除按钮外观,点击时触发 OnDeleteClick
  • 标签尺寸用 ItemHeightItemMinWidthItemSpaceSize 调整。
  • 点击标签触发 OnClickItem;需要自定义标签外观时用 OnDrawItem 自绘。

示例

摘自 Demo:MlSkin.Demo.标记框(Tags)(窗体文件 .dfm)

object MlSkinTagsBox1: TMlSkinTagsBox
  Left = 8
  Top = 41
  Width = 424
  Height = 152
  Transparent = False
  RoundRadius = 14
  DeleteButton.Visible = False
  Items = <
  ...

属性 18

名称类型默认值说明
RoundRadiusInteger12标签的圆角半径(像素)。
DeleteButtonTMlSkinColorControls_DeleteButton标签上删除按钮的设置:图片、大小、是否显示。点击后触发 OnDeleteClick
ItemsTMlTagsBoxItems标签集合。每一项可设文字、颜色、是否可用和是否显示。
ItemMinWidthInteger60单个标签的最小宽度(像素)。
ItemHeightInteger25标签的高度(像素)。
ItemSpaceSizeInteger10标签之间的间距(像素)。
MarginBorderSizeInteger10标签区域与控件边缘的间距(像素)。
ScrollSizeInteger30滚动条的宽度(像素)。
HideScrollbarBooleanFalse是否隐藏滚动条(内容仍可滚动)。
AlphaByte192透明度,0 为完全透明、255 为不透明。
BorderSidesTSides画哪几条边框(上、下、左、右可任意组合)。
BorderColorTColor$00D9CBBA边框颜色。
ColorTColorclWhite控件的底色。Transparent 打开时不生效。
BackgroundFillTypeTMlPngFillTypeftNormal背景图片的铺法:ftNormal 原样、ftTile 平铺、ftAutoStretch 自动拉伸、ftCenter 居中、ftStretch 拉伸铺满、ftGradient 渐变。
BackgroundImageTMlResID背景图片,填图片资源 ID 或图片文件路径。
BackgroundOffsetXInteger0背景图片的横向偏移(像素)。
BackgroundOffsetYInteger0背景图片的纵向偏移(像素)。
DoubleBorderBooleanTrue双层边框,在边框内侧再画一条线。

事件 7

名称类型默认值说明
OnClickItemTItem点击某个标签时触发。
OnDrawItemTMlTagsBoxItemDrawEnvent绘制标签时触发,可自定义标签的外观。
OnDeleteClickTItemDeleteEvent点击标签上的删除按钮时触发,通常在这里把该项从 Items 中移除。
OnGetCursorTMlGetCursorEvent取鼠标指针形状时触发,可针对不同区域返回不同指针。
OnHotChangedTItemHot鼠标悬停的标签发生变化时触发。
OnFocusChangingTStateChange焦点标签即将改变时触发。
OnChangedTNotifyEvent状态或数值改变后触发。
TMlSkinCustomPanel 的事件 1
名称类型默认值说明
OnCustomDrawTMlCustomDrawEvent自绘事件,可在控件画完后继续绘制自己的内容。
TMlSkinCustomControl 的属性 4
名称类型默认值说明
AboutTMlAboutInfo设计期属性。在对象检查器里双击会弹出 MlSkin 的关于窗口,显示组件版本信息;运行时没有作用,也不会保存到 dfm。
TransparentBooleanTrue背景是否透明。打开后控件不画自己的底色,直接显示窗体的背景(图片或颜色)。
AutoInvalidateBooleanFalse内容变化时是否自动重绘。动态改属性看不到变化时可以打开。
EraseBackgroundBooleanFalse绘制前是否擦除背景。界面闪烁时可以调整这个开关。
TMlSkinCustomControl 的事件 4
名称类型默认值说明
OnDPIChangedTMlDPIChangedEvent屏幕 DPI 改变时触发(例如窗口被拖到另一块不同缩放的显示器上),可在这里重新调整自绘内容。
OnBackgroundChangingTMlBackgroundEvent背景即将改变时触发,可在这里干预要绘制的背景。
OnBackgroundChangedTMlCustomDrawEvent背景绘制完成后触发,可在背景之上继续自绘内容。
OnVisibleChangedTNotifyEvent控件显示或隐藏时触发。

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

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