TMlSkinTagsBox

A tags box that renders entries as small coloured chips, each one individually clickable and removable.

Category
Panels & containers
Unit
uMlSkinTagsBox.pas
Inherits from
TMlSkinCustomTagsBoxTMlSkinCustomPanelTMlSkinCustomControl

Notes

  • The chips live in the Items collection, each with its caption, colors and enabled state.
  • DeleteButton styles the delete button on a chip; clicking it fires OnDeleteClick.
  • Chip size is tuned with ItemHeight, ItemMinWidth and ItemSpaceSize.
  • Clicking a chip fires OnClickItem; use OnDrawItem to paint the chips yourself.

Example

From the demo MlSkin.Demo.标记框(Tags) (.dfm form file)

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

Properties 18

NameTypeDefaultDescription
RoundRadiusInteger12Corner radius of the chips, in pixels.
DeleteButtonTMlSkinColorControls_DeleteButtonThe delete button on a chip: its image, size and visibility. Clicking it fires OnDeleteClick.
ItemsTMlTagsBoxItemsThe chip collection; each entry has a caption, colors, enabled and visible flags.
ItemMinWidthInteger60Minimum width of a chip in pixels.
ItemHeightInteger25Chip height in pixels.
ItemSpaceSizeInteger10Gap between chips in pixels.
MarginBorderSizeInteger10Padding between the chip area and the control edge, in pixels.
ScrollSizeInteger30Width of the scrollbar in pixels.
HideScrollbarBooleanFalseHides the scrollbar while the content still scrolls.
AlphaByte192Opacity: 0 fully transparent, 255 opaque.
BorderSidesTSidesWhich border edges are drawn — any combination of top, bottom, left and right.
BorderColorTColor$00D9CBBABorder color.
ColorTColorclWhiteBackground color of the control; ignored while Transparent is on.
BackgroundFillTypeTMlPngFillTypeftNormalHow the background image is laid out: ftNormal as-is, ftTile tiled, ftAutoStretch auto-stretched, ftCenter centred, ftStretch stretched to fill, ftGradient gradient.
BackgroundImageTMlResIDBackground image, given as a resource ID or an image file path.
BackgroundOffsetXInteger0Horizontal offset of the background image in pixels.
BackgroundOffsetYInteger0Vertical offset of the background image in pixels.
DoubleBorderBooleanTrueDouble border: draws a second line inside the border.

Events 7

NameTypeDefaultDescription
OnClickItemTItemFires when a chip is clicked.
OnDrawItemTMlTagsBoxItemDrawEnventFires while a chip is drawn, so you can style it yourself.
OnDeleteClickTItemDeleteEventFires when a chip's delete button is clicked; this is usually where you remove the entry from Items.
OnGetCursorTMlGetCursorEventFires while the cursor is being chosen, so different areas can return different cursors.
OnHotChangedTItemHotFires when the chip under the mouse changes.
OnFocusChangingTStateChangeFires just before the focused chip changes.
OnChangedTNotifyEventFires after the state or value has changed.
Events of TMlSkinCustomPanel 1
NameTypeDefaultDescription
OnCustomDrawTMlCustomDrawEventCustom draw event: paint your own content after the control has drawn itself.
Properties of TMlSkinCustomControl 4
NameTypeDefaultDescription
AboutTMlAboutInfoA design-time property: double-clicking it in the Object Inspector opens the MLSkin about box with the component version. It has no effect at run time and is not stored in the .dfm.
TransparentBooleanTrueTransparent background: the control skips its own fill and shows the form background (image or color) instead.
AutoInvalidateBooleanFalseRepaints automatically when the content changes. Turn it on if property changes do not show up.
EraseBackgroundBooleanFalseWhether the background is erased before painting; worth toggling if the control flickers.
Events of TMlSkinCustomControl 4
NameTypeDefaultDescription
OnDPIChangedTMlDPIChangedEventFires when the screen DPI changes, for example when the window moves to a monitor with a different scaling — a good place to re-adjust anything you draw yourself.
OnBackgroundChangingTMlBackgroundEventFires just before the background changes, giving you a chance to adjust what is drawn.
OnBackgroundChangedTMlCustomDrawEventFires after the background has been drawn, so you can paint on top of it.
OnVisibleChangedTNotifyEventFires when the control is shown or hidden.

Only the properties and events MLSkin adds are listed here. Standard VCL properties such as Align, Anchors, Font and OnClick are available too and behave exactly as on the stock controls.

Offline helpA PDF / CHM version is available for offline reading.