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

# TLazDockForm

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

TLazDockForm - the default DockSite for a TLazDockTree and for TCustomAnchoredDockManager.

## Declaration

Source position: ldocktree.pas line 191

`type TLazDockForm = class(TCustomForm)`
`protected`
`procedure Notification(); override;` |  | Notification - if the required operation is removal, sets MainControl to nil, then calls inherited Notification.
`procedure UpdateMainControl;` |  | UpdateMainControl - sets MainControl to a new value.
`procedure MouseUp(); override;` |  | MouseUp - calls inherited MouseUp then finds position and appropriate header.
`procedure MouseDown(); override;` |  | MouseDown - performs inherited MouseDown, then finds position and appropriate header.
`procedure MouseMove(); override;` |  | MouseMove - performs inherited MouseMove, then finds position and appropriate header.
`procedure MouseLeave; override;` |  | MouseLeave - performs inherited MouseLeave, and sets the local store of position to indicate absence of the mouse.
`procedure PaintWindow(); override;` |  | PaintWindow - calls inherited PaintWindow, then creates new canvas and handle at cursor position, inserts header caption, title and images.
`procedure TrackMouse();` |  | TrackMouse - finds position of the mouse, which part of the control it occupies (whether header or main part of control), and state of buttons.
`public`
`constructor Create(); override;` |  | Create - constructor for TLazDocForm: calls inherited Create, then fills in the header.
`destructor Destroy; override;` |  | Destroy - destructor for TLazDockForm: removes header then calls inherited Destroy.
`function CloseQuery; override;` |  | CloseQuery - calls inherited method, then asks all top level forms if form can close.
`procedure UpdateCaption; virtual;` |  | UpdateCaption - brings caption up-to-date if there have been changes.
`class procedure UpdateMainControlInParents();` |  | UpdateMainControlInParents - make sure all parents recognize the presence of MainControl.
`function FindMainControlCandidate;` |  | FindMainControlCandidate - finds forms and controls in the docktree hierarchy that could act as the MainControl.
`function FindHeader();` |  | FindHeader - identifies the part of the dock form that is the header, and returns a TControl.
`procedure InsertControl(); override;` |  | InsertControl - calls inherited method then updates the main control.
`function IsDockedControl();` |  | IsDockedControl - checks if control is a child, not a TLazDockSplitter and properly anchor docked; returns True if OK.
`function ControlHasTitle();` |  | ControlHasTitle - returns True if nominated control is visible, is a docked control and has a border spacing greater than zero.
`function GetTitleRect();` |  | GetTitleRect - returns the coordinates of the title rectangle for the nominated control.
`function GetTitleOrientation();` |  | GetTitleOrientation - returns the orientation (horizontal or vertical) of the title in the nominated control.
`property MainControl: TControl; [rw]` |  | The identity of the MainControl in the docked form (used for the default caption).
`end;`

## Inheritance

`TLazDockForm` |  | TLazDockForm - the default DockSite for a TLazDockTree and for TCustomAnchoredDockManager.
`TCustomForm` |  | The base type for TForm classes.
`TCustomDesignControl` |  | Provides a designer surface for scaling and layout of its child controls.
`TScrollingWinControl` |  | Implements a windowed control with scroll bars.
`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

TLazDockForm - the default DockSite for a TLazDockTree and for TCustomAnchoredDockManager

Note: There are two docking managers: TLazDockTree uses TLazDockZone to allow docking in rows and columns. TCustomAnchoredDockManager does not use TLazDockZone and allows arbitrary layouts.