[Overview][Constants][Types][Classes][Procedures and functions][Index] | Reference for unit 'ComCtrls' (#lcl)

# TCoolBar

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Implements a Rebar-like control with resizable bands.

## Declaration

Source position: comctrls.pp line 2662

`type TCoolBar = class(TCustomCoolBar)`
`published`
`property Align: TAlign;` |  | Contains the edge in the Parent where the control is aligned.
`property Anchors: TAnchors;` |  | The set of anchor definitions for this control.
`property AutoSize: Boolean;` |  | Allows automatic adjustment of the size for the control, according to its content.
`property BandBorderStyle: TBorderStyle;` |  | Border style used around bands on the control.
`property BandMaximize: TCoolBandMaximize;` |  | Indicates the action used to maximize the width for a band on the control.
`property Bands: TCoolBands;` |  | Collection with the bands defined for the control.
`property BiDiMode: TBiDiMode;` |  | Indicates whether text controls use in bi-directional reading.
`property BorderWidth: TBorderWidth;` |  | Width of the Border around the control; default is zero.
`property Color: TColor;` |  | The background color for the control.
`property Constraints: TSizeConstraints;` |  | Contains the minimum and maximum Width and Height for the control.
`property DockSite: Boolean;` |  | Allows controls to be drag-and-dock-ed into this control.
`property DragCursor: TCursor;` |  | The cursor shape shown during a drag operation.
`property DragKind: TDragKind;` |  | Indicates the action performed for a drag operation: drag-and-drop or drag-and-dock.
`property DragMode: TDragMode;` |  | Determines how a drag operation is started for the control.
`property EdgeBorders: TEdgeBorders;` |  | Indicates the edges to be drawn with a border on the control.
`property EdgeInner: TEdgeStyle;` |  | Specifies the drawing style used for the inner border of the control.
`property EdgeOuter: TEdgeStyle;` |  | Specifies the drawing style used for the outer border of the control.
`property Enabled: Boolean;` |  | Determines whether the control responds to mouse or keyboard input.
`property FixedSize: Boolean;` |  | Indicates if bands on the control have a fixed size.
`property FixedOrder: Boolean;` |  | Indicates if the order of the bands on the control is fixed or locked.
`property Font: TFont;` |  | The font to be used for text display in this control.
`property GrabStyle: TGrabStyle;` |  | Drawing style used for a grabber or gripper displayed on the control.
`property GrabWidth: Integer;` |  | Width for the grabber on the control.
`property HorizontalSpacing: Integer;` |  | Horizontal space reserved between visual elements on the control.
`property Images: TCustomImageList;` |  | Contains images displayed on the bands for the control.
`property ImagesWidth: Integer;` |  | Width for the Images used in the control.
`property ParentColor: Boolean;` |  | Use the Color from the Parent control, when enabled.
`property ParentFont: Boolean;` |  | Indicates if the Font from the Parent control is used in the control.
`property ParentShowHint: Boolean;` |  | If True, the value of ShowHint for the control will be the same as the one from the Parent. Default is True.
`property Bitmap: TBitmap;` |  | Optional image displayed as the background for the cool bar control.
`property PopupMenu: TPopupMenu;` |  | If True, the value of ShowHint for the control will be the same as the one from the Parent. Default is True.
`property ShowHint: Boolean;` |  | Enables Hint display for the control.
`property ShowText: Boolean;` |  | Indicates if text captions are displayed for the bands on the control.
`property Themed: Boolean;` |  | Enables or disables themed rendering for the control.
`property Vertical: Boolean;` |  | Indicates if the control is displayed vertically instead of horizontally.
`property VerticalSpacing: Integer;` |  | Vertical space reserved between visual elements in the control.
`property Visible: Boolean;` |  | Allows the control, and all of its children, to be displayed or hidden.
`property OnChange: TNotifyEvent;` |  | Event handler signalled when Bands are re-sized or re-ordered using the mouse.
`property OnClick: TNotifyEvent;` |  | Notification handler for mouse clicks.
`property OnContextPopup: TContextPopupEvent;` |  | Invoked when a context-sensitive pop-up menu is requested.
`property OnDblClick: TNotifyEvent;` |  | Event handler signalled when a mouse double click occurs in the control.
`property OnDockDrop: TDockDropEvent;` |  | Event handler signalled for the drop of a control to be docked.
`property OnDockOver: TDockOverEvent;` |  | Event handler signalled when a control is moved over a docksite; determines whether the drop event is accepted or rejected.
`property OnDragDrop: TDragDropEvent;` |  | Event handler signalled when an object is dropped onto the control.
`property OnDragOver: TDragOverEvent;` |  | Event handler signalled when a control is dragged over the control instance.
`property OnEndDock: TEndDragEvent;` |  | Event handler signalled for the end of a drag-dock operation.
`property OnEndDrag: TEndDragEvent;` |  | Event handler signalled for the end of a drag-drop operation.
`property OnGetSiteInfo: TGetSiteInfoEvent;` |  | Provides information about the DockSite for the control.
`property OnMouseDown: TMouseEvent;` |  | Event handler signalled when a mouse down event is handled for the control.
`property OnMouseEnter: TNotifyEvent;` |  | Event handler signalled when the mouse pointer has entered the control.
`property OnMouseLeave: TNotifyEvent;` |  | Event handler signalled when the mouse pointer has left the control.
`property OnMouseMove: TMouseMoveEvent;` |  | Event handler signalled when the mouse pointer is moved in the control.
`property OnMouseUp: TMouseEvent;` |  | Event handler signalled when a mouse up event is handled for the control.
`property OnMouseWheel: TMouseWheelEvent;` |  | Event handler for mouse wheel turned.
`property OnMouseWheelDown: TMouseWheelUpDownEvent;` |  | Event handler signalled for a downward movement of the mouse wheel.
`property OnMouseWheelUp: TMouseWheelUpDownEvent;` |  | Event handler signalled for an upward movement of the mouse wheel.
`property OnResize: TNotifyEvent;` |  | Notification handler for a resize of the control.
`property OnStartDock: TStartDockEvent;` |  | Event handler for the start of a docking operation.
`property OnStartDrag: TStartDragEvent;` |  | Event handler signalled for the start of a dragging operation.
`property OnUnDock: TUnDockEvent;` |  | Event handler signalled before a control is undocked from its DockSite.
`end;`

## Inheritance

`TCoolBar` |  | Implements a Rebar-like control with resizable bands.
`TCustomCoolBar` |  | Defines a Rebar-like control with resizable bands.
`TToolWindow` |  | Implements a control which can paint its client area with borders.
`TCustomControl` |  | The base class for windowed controls which paint themselves.
`TWinControl` |  | Implements a windowed control which can contain other child controls.
`TControl` |  | The base class for visible controls.
`TLCLComponent` |  | The base class for LCL components which have an associated widget.
`TComponent`
?
`TObject`

## Description

TCoolBar is a TCustomCoolBar descendant which implements a control like the Windows Rebar control. It provides a collection of windowed controls which are displayed in movable, resizable bands.

Each band (or TCoolBand) on the control can have a configurable sizing grip (or grabber), a bitmap, a text label, and a single windowed control. The CoolBar handles the size and position for the control when its band is moved. Each band can have a fixed size, or can automatically re-size to the contained control. Bands can be displayed one band per line, or re-sized and positioned to fill the available width or height for the CoolBar control.

A common use case is hosting multiple toolbars in an application. Separate TToolbar instance are created and configured with event handlers or actions as needed. Each toolbar is assigned as the Control for a band on the cool bar control. A perfect example is the Lazarus IDE, which uses TCoolbar to host the file, view and run toolbars in its interface.

## See also

TCustomCoolBar |  | Defines a Rebar-like control with resizable bands.