TDockTree.InsertControl procedure
Positions
DropCtl relative
Control, using the alignment
specified by
InsertAt.
Declaration
procedure InsertControl(AControl: TControl; InsertAt: TAlign;
DropControl: TControl); overrideArguments
AControl | The control beneath which to place DropControl. |
InsertAt | How to insert DropControl. |
DropControl | The control to add. |
Description
InsertControl determines the layout and appearance of the just
docked control, forcing a repaint of the container control if necessary.
When SetReplacingControl has been called with a non-Nil
Control before, the dropped control only should replace that control.
A tree docking manager organizes the docksite into layers of horizontal or
vertical orientation. As long as no more than one control is docked into a
docksite, the tree has no orientation at all. The second docked control
determines the orientation of the docksite and the dock tree. All further
drops are either isogonal (in direction of the zone orientation) or
orthogonal (opposite to the zone orientation). On an isogonal drop a new leaf
zone is created for the dropped control, as a sibling of the already existing
child zones. On an orthogonal drop the zone containing the DropControl
becomes the root of another subtree, whose initial members are the leaf zones
for Control and DropCtl.
One value of InsertAt (alCustom) is reserved for
notebook docking, where DropCtl is replaced by a tabbed notebook,
and Control and DropCtl are moved into pages of the
notebook. The notebook is a docksite of its own, further drops into the
notebook are handled by the notebook itself, the DockManager of
the host docksite is not involved.
See also
An experiment, built from development snapshots. Not the official Free Pascal or Lazarus documentation.
