TMlSkinTabset

标签栏控件,像浏览器的标签页一样排列标签,每个标签可带关闭按钮,支持拖动排序。

分类
列表与下拉框
所在单元
uMlSkinTabset.pas
继承自
TMlSkinCustomTabsetTMlSkinCustomToolbarTMlSkinCustomPanelTMlSkinCustomControl

用法要点

  • 和 TMlSkinPageControl 不同,它只管标签栏本身,通常配合 TFrame 或多个 Panel 切换内容。
  • CloseButtonVisible 显示关闭按钮,点击时触发 OnCloseButtonClick,在这里移除对应的标签和内容。
  • AllowDragTab 打开后可以拖动标签调整顺序。
  • 标签宽度用 ButtonWidth,或打开 AutoButtonWidth 随文字自适应,并用 MaxButtonWidth 限制上限。

示例

摘自 Demo:MlSkin.Demo.多页面切换(含关闭按钮 TMlSkinTabset+TFrame).v3.0(窗体文件 .dfm)

object mltbs1: TMlSkinTabset
  Left = 0
  Top = 0
  Width = 750
  Height = 38
  Color = clBlack
  CloseButton.Active = True
  CloseButton.Image = 'MlSkinMini_close_btn'
  CloseButton.Normal = 0
  CloseButton.Hot = 1
  CloseButton.Disable = 0
  CloseButton.Count = 2
  CloseButton.Pressed = 1
  CloseButtonVisible = True
  OnCloseButtonClick = mltbs1CloseButtonClick
  DelayRefresh = True
  Items = <
  ...

属性 28

名称类型默认值说明
AllowDragTabBooleanFalse是否允许拖动标签调整顺序。
AutoButtonWidthBooleanFalse标签宽度是否随文字长度自动调整。
CloseButtonTPngPictures标签上关闭按钮的图片(正常、悬停、按下各一帧)。
CloseButtonVisibleBooleanFalse是否在标签上显示关闭按钮。
CloseButtonOffsetTMlOffset关闭按钮的位置偏移(X、Y)。
DelayRefreshBooleanFalse延迟刷新,批量修改标签时可减少重绘。
TextOffsetTMlBtnItemOffset标签文字的偏移量(X、Y)。
ItemsTMlSkinToolbarItems控件的项目集合,在对象检查器里展开可逐项编辑。
ImagesTCustomImageList图标来源的 ImageList。
ButtonImageTPngPictures标签背景图片(正常、悬停、选中各一帧)。
ButtonWidthInteger48标签宽度(像素)。
MaxButtonWidthInteger0标签最大宽度(像素),0 表示不限制。
ButtonHeightInteger48标签高度(像素)。
SpaceSizeInteger3标签之间的间距(像素)。
MultiLineBooleanFalse标签放不下时是否换行显示。
ScrollSizeInteger15滚动条的宽度(像素)。
MarginSizeInteger20标签栏内容与边缘的间距(像素)。
MarginTextSizeInteger2标签内图标与文字之间的间距(像素)。
AlphaByte192透明度,0 为完全透明、255 为不透明。
BorderSidesTSides画哪几条边框(上、下、左、右可任意组合)。
BorderColorTColor$00D9CBBA边框颜色。
BackgroundImageTMlResID背景图片,填图片资源 ID 或图片文件路径。
BackgroundFillTypeTMlPngFillTypeftNormal背景图片的铺法:ftNormal 原样、ftTile 平铺、ftAutoStretch 自动拉伸、ftCenter 居中、ftStretch 拉伸铺满、ftGradient 渐变。
BackgroundOffsetXInteger0背景图片的横向偏移(像素)。
BackgroundOffsetYInteger0背景图片的纵向偏移(像素)。
DoubleBorderBooleanTrue双层边框,在边框内侧再画一条线。
FontHotTFont鼠标移上去时使用的字体。
FontDownTFont按下时使用的字体。

事件 7

名称类型默认值说明
OnCloseButtonClickTToolbarClickEvent点击标签上的关闭按钮时触发,通常在这里移除标签和对应内容。
OnPaintCloseButtonTPaintCloseButtonEvent绘制关闭按钮时触发,可自定义它的外观。
OnItemClickTToolbarClickEvent点击某一项时触发。
OnItemDownTToolbarClickEvent标签被按下时触发。
OnItemFocusChangedTNotifyEvent焦点标签改变时触发。
OnDrawItemTMlToolbarItemDrawEnvent绘制某一项时触发,可以自定义该项的外观。
OnButtonWidthChangedTToolbarButtonWidthEvent标签宽度变化后触发。
TMlSkinCustomPanel 的属性 1
名称类型默认值说明
ColorTColorclWhite控件的底色。Transparent 打开时不生效。
TMlSkinCustomPanel 的事件 1
名称类型默认值说明
OnCustomDrawTMlCustomDrawEvent自绘事件,可在控件画完后继续绘制自己的内容。
TMlSkinCustomControl 的属性 5
名称类型默认值说明
AboutTMlAboutInfo设计期属性。在对象检查器里双击会弹出 MlSkin 的关于窗口,显示组件版本信息;运行时没有作用,也不会保存到 dfm。
TransparentBooleanTrue背景是否透明。打开后控件不画自己的底色,直接显示窗体的背景(图片或颜色)。
ColorTColorclWhite控件的底色。Transparent 打开时不生效。
AutoInvalidateBooleanFalse内容变化时是否自动重绘。动态改属性看不到变化时可以打开。
EraseBackgroundBooleanFalse绘制前是否擦除背景。界面闪烁时可以调整这个开关。
TMlSkinCustomControl 的事件 4
名称类型默认值说明
OnDPIChangedTMlDPIChangedEvent屏幕 DPI 改变时触发(例如窗口被拖到另一块不同缩放的显示器上),可在这里重新调整自绘内容。
OnBackgroundChangingTMlBackgroundEvent背景即将改变时触发,可在这里干预要绘制的背景。
OnBackgroundChangedTMlCustomDrawEvent背景绘制完成后触发,可在背景之上继续自绘内容。
OnVisibleChangedTNotifyEvent控件显示或隐藏时触发。

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

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