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

# THeaderControl

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

THeaderControl, a header strip of user-designed sections which allow selection of pages or actions

## Declaration

Source position: comctrls.pp line 2995

`type THeaderControl = class(TCustomHeaderControl)`
`published`
`property Align;` |  | Used to align the control to the top, bottom, left or right of its client.
`property Anchors;` |  | The set of anchor definitions for this control
`property BiDiMode;` |  | BiDiMode - enabling bi-directional writing
`property BorderWidth;` |  | Property to determine width of the window's border
`property BorderSpacing;`
`property DragCursor;` |  | DragCursor - the style of cursor to be used during the Drag process
`property DragKind;` |  | DragKind - what sort of dragging? Drag or Dock
`property DragMode;` |  | DragMode - whether manual or automatic
`property Enabled;` |  | Whether the control is Enabled (read/write). If not, it usually appears 'greyed-out'
`property Font;` |  | The font to be used for text in this control (read/write).
`property Images;` |  | Images - the list of Images available for selection using this tool
`property Constraints;` |  | Determine Constraints (max and min height and width) for this control
`property Sections;` |  | Sections - the short segments of the header, separated by vertical bars, that function as the elementary selection units of the header
`property ShowHint;` |  | Flag to determine: Is hint to be displayed for this control?
`property ParentBiDiMode;` |  | ParentBiDiMode - does the control follow the BiDiMode settings of its parent?
`property ParentFont;` |  | ParentFont - should the control use the same font as the parent? Default is true
`property ParentShowHint;` |  | ParentShowHint - does the control adopt the same hinting behaviour as its parent? Default is true
`property PopupMenu;` |  | PopupMenu - a context-sensitive menu that pops up when the right mouse button is clicked over this control
`property Visible;` |  | Visible - can the control be seen?
`property OnContextPopup;` |  | Event handler to supply information when a context-sensitive pop-up menu is required
`property OnCreateSectionClass;` |  | OnCreateSectionClass - event handler for creating a new section class
`property OnDragDrop;` |  | Event handler for the drop of a control onto this control.
`property OnDragOver;` |  | Event handler for the case when a control is dragged over another control
`property OnEndDock;` |  | Event handler for the end of a docking operation
`property OnEndDrag;` |  | Event handler for the end of a dragging process
`property OnMouseDown;` |  | Event handler for when a mouse button is pressed down
`property OnMouseEnter;` |  | Event handler for when the mouse enters the area of the current control
`property OnMouseLeave;` |  | Event handler for when the mouse leaves the area of the current control
`property OnMouseMove;` |  | Event handler for mouse movement within the current control
`property OnMouseUp;` |  | Event handler for when the mouse button is released, ie "up"
`property OnResize;` |  | Event Handler for resize of control
`property OnSectionClick;` |  | OnSectionClick - event handler for mouse click on this section of header
`property OnSectionResize;` |  | OnSectionResize - event handler for re-sizing this section of the header
`property OnSectionTrack;` |  | OnSectionTrack - event handler for tracking this section
`end;`

## Inheritance

`THeaderControl` |  | THeaderControl, a header strip of user-designed sections which allow selection of pages or actions
`TCustomHeaderControl` |  | TCustomHeaderControl - base class for THeaderControl, a header strip of user-designed sections which allow selection of pages or actions
`TCustomControl` |  | TCustomControl - a base class for many window controls
`TWinControl`
`TControl`
`TLCLComponent` |  | TLCLComponent - base class for LCL components
`TComponent,IUnknown,IInterfaceComponentReference`
`TPersistent`
`TObject`

## Description

THeaderControl, a header strip of user-designed sections which allow selection of pages or actions

THeaderControl offers a widget that could be placed along the edge of a Panel or Form, allowing a highly customised mechanism for selection. However, there are no intrinsically associated display areas, and it is the developer's responsibility to supply an index associated with the selection from the THeaderControl and determine what action is to occur or what is to be displayed in any attached Panel or Form.

THeaderControl is used by selecting its icon from the Common Controls tab of the IDE Component Palette, and placing it on the Form in the desired position. It may be convenient to dock it with a Form or Panel whose properties it is to be used for controlling.

After size, position, docking, alignment, anchoring etc have been performed using the Object Inspector or Form Designer, the Sections of the Header can be created by selecting the control, right-clicking with the mouse and choosing 'Section Editor'. A Stringlist editor will pop up, with options to add, delete or move entries up or down the list. Each entry is given an Index which can be used in OnClick event handlers to determine the action to be taken when that section is selected at run-time.

## See also

Multi-PageControls |  | Multi-PageControls - controls that offer a selection of alternative pages for display

The latest version of this document can be found at lazarus-ccr.sourceforge.net .