Notes
- Content is read and written through the inner list's
Items; MultiSelect allows selecting several rows.
Columns sets how many columns are shown and DefaultItemHeight the row height.
- Properties and events beginning with
ListBox (such as ListBoxFont and OnListBoxClick) belong to that inner list and behave like the stock control's.
- Turning on
Transparent lets the form background show through — that is how the "transparent ListBox" demo works.
Example
From the demo MlSkin.MainDemo.v3.0 (.dfm form file)
object lst1: TMlSkinListBox
Left = 79
Top = 199
Width = 105
Height = 120
Transparent = False
Alpha = 255
BorderSides = []
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = []
BorderEffectNormal = 'MlSkinBorderNormal'
BorderEffectHot = 'MlSkinBorderHot'
Items.Strings = (
'Delphi7'
'Delphi2007'
'Delphi2009'
'Delphi2010'
Properties 14
| Name | Type | Default | Description |
|---|
Columns | Integer | 0 | How many columns the list is shown in. |
RowCount | Integer | 0 | How many rows are visible. |
Alignment | TAlignment | taLeftJustify | Text alignment. |
DefaultItemHeight | Integer | 20 | Row height in pixels. |
Items | TStrings | — | The control's collection of items, editable one by one in the Object Inspector. |
ItemIndex | Integer | -1 | Index of the selected item, starting at 0; -1 means none. |
MultiSelect | Boolean | False | Allows selecting several rows at once. |
ListBoxFont | TFont | — | Font of the inner list. |
ListBoxTabOrder | TTabOrder | 0 | Tab order of the inner list. |
ListBoxTabStop | Boolean | True | Whether Tab can move focus to the inner list. |
ListBoxDragMode | TDragMode | dmManual | Drag mode of the inner list. |
ListBoxDragKind | TDragKind | dkDrag | Drag kind of the inner list: dragging or docking. |
ListBoxDragCursor | TCursor | crDrag | Cursor shown while dragging from the inner list. |
ListBoxPopupMenu | TPopupMenu | — | Context menu of the inner list. |
Events 16
| Name | Type | Default | Description |
|---|
OnUpButtonClick | TNotifyEvent | — | Fires when the up arrow is clicked. |
OnDownButtonClick | TNotifyEvent | — | Fires when the down arrow is clicked. |
OnCheckButtonClick | TNotifyEvent | — | Fires when a row's check box is clicked. |
OnListBoxClick | TNotifyEvent | — | Fires when the inner list is clicked (its OnClick). |
OnListBoxDblClick | TNotifyEvent | — | Fires on a double click in the inner list. |
OnListBoxMouseDown | TMouseEvent | — | Fires when a mouse button goes down on the list. |
OnListBoxMouseMove | TMouseMoveEvent | — | Fires as the mouse moves over the list. |
OnListBoxMouseUp | TMouseEvent | — | Fires when a mouse button is released on the list. |
OnListBoxKeyDown | TKeyEvent | — | Fires when a key goes down while the list has focus. |
OnListBoxKeyPress | TKeyPressEvent | — | Fires as a character is typed while the list has focus. |
OnListBoxKeyUp | TKeyEvent | — | Fires when a key is released while the list has focus. |
OnListBoxDragDrop | TDragDropEvent | — | Fires when something is dropped on the list. |
OnListBoxDragOver | TDragOverEvent | — | Fires while a drag passes over the list, where you decide whether to accept the drop. |
OnListBoxStartDrag | TStartDragEvent | — | Fires when a drag starts from the list. |
OnListBoxEndDrag | TEndDragEvent | — | Fires when a drag from the list ends. |
OnDrawItem | TMlDrawSkinItemEvent | — | Fires while an item is drawn, so you can style it yourself. |
Properties of TMlSkinBorderPanel 3
| Name | Type | Default | Description |
|---|
ActiveHotFrame | Boolean | True | Enables the hover border: with it on, the panel switches to BorderEffectHot while the mouse is over it. |
BorderEffectNormal | TMlResID | — | Border image in the normal state. |
BorderEffectHot | TMlResID | — | Border image used while the mouse is over the panel. |
Properties of TMlSkinPanel 16
| Name | Type | Default | Description |
|---|
Alpha | Byte | 192 | Opacity: 0 fully transparent, 255 opaque. |
BorderAlpha | Byte | 255 | Border opacity from 0 (invisible) to 255 (solid), useful for a subtle divider. |
BorderSides | TSides | — | Which border edges are drawn — any combination of top, bottom, left and right. |
BorderColor | TColor | $00D9CBBA | Border color. |
Color | TColor | clWhite | Background color of the control; ignored while Transparent is on. |
CaptionVisible | Boolean | False | Whether the caption is drawn. Turn it off for icon-only buttons. |
BackgroundFillType | TMlPngFillType | ftNormal | How the background image is laid out: ftNormal as-is, ftTile tiled, ftAutoStretch auto-stretched, ftCenter centred, ftStretch stretched to fill, ftGradient gradient. |
BackgroundImage | TMlResID | — | Background image, given as a resource ID or an image file path. |
BackgroundOffsetX | Integer | 0 | Horizontal offset of the background image in pixels. |
BackgroundOffsetY | Integer | 0 | Vertical offset of the background image in pixels. |
GradientDirection | TGradientDirection | gdVertical | Gradient direction: gdHorizontal or gdVertical. |
GradientAlign | TGradientAlign | gaCenter | Where the gradient is anchored: centre, left or right. |
GradientSize | Integer | 60 | Size of the gradient band in pixels. |
GradientStartColor | TColor | $00FFC446 | Starting color of the gradient. |
GradientEndColor | TColor | $00FDF8F3 | Ending color of the gradient. |
DoubleBorder | Boolean | True | Double border: draws a second line inside the border. |
Properties of TMlSkinCustomPanel 1
| Name | Type | Default | Description |
|---|
Color | TColor | clWhite | Background color of the control; ignored while Transparent is on. |
Events of TMlSkinCustomPanel 1
| Name | Type | Default | Description |
|---|
OnCustomDraw | TMlCustomDrawEvent | — | Custom draw event: paint your own content after the control has drawn itself. |
Properties of TMlSkinCustomControl 5
| Name | Type | Default | Description |
|---|
About | TMlAboutInfo | — | A 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. |
Transparent | Boolean | True | Transparent background: the control skips its own fill and shows the form background (image or color) instead. |
Color | TColor | clWhite | Background color of the control; ignored while Transparent is on. |
AutoInvalidate | Boolean | False | Repaints automatically when the content changes. Turn it on if property changes do not show up. |
EraseBackground | Boolean | False | Whether the background is erased before painting; worth toggling if the control flickers. |
Events of TMlSkinCustomControl 4
| Name | Type | Default | Description |
|---|
OnDPIChanged | TMlDPIChangedEvent | — | Fires 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. |
OnBackgroundChanging | TMlBackgroundEvent | — | Fires just before the background changes, giving you a chance to adjust what is drawn. |
OnBackgroundChanged | TMlCustomDrawEvent | — | Fires after the background has been drawn, so you can paint on top of it. |
OnVisibleChanged | TNotifyEvent | — | Fires 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.