Skip to main content

Zones Overview

  • 3 minutes to read

Dock controls own lists of dock zones and resize zones. These zones are specially designed objects that implement the docking and resizing functionality of dock controls. A general overview of these objects and their purpose is listed below. For a detailed explanation on each zone type, please refer to the Dock Zones and Resize Zones topics.

General Overview


Zones are areas within the owning dock control. Dock zones are areas where other controls can be docked. In other words, when docking, the dock zone residing under the mouse pointer provides the docking functionality if the control is dropped. When the mouse pointer is over a dock zone, the docking frame changes its size and position indicating the potential position of the control. For example, consider a dock site. It has four dock zones at its edges so that controls can be docked to the left, top, right and bottom edges. It also contains a client zone that allows you to dock controls to the entire area of the dock site.

Resize zones are areas where resizing can be initiated. When the mouse pointer is over a resize zone, the mouse cursor is changed thus indicating that resizing can be initiated here. For instance, if a dock panel is docked to the left edge of a dock site, it has a single resize zone located at the right edge. This enables resizing operations by dragging the right edge of the dock panel.

Dock zones and resize zones have common functionality and as such, have a common ancestor – the TdxZone class. Also, a single TdxZone descendant can serve both as dock zone and resize zone. If a zone is within a dock control’s DockZones list, its docking functionality is used. If it resides within a dock control’s ResizeZones list, its resizing functionality is used.

Note that zones indicate the areas where docking and resizing operations can be performed and they also implement the actual operations and auxiliary functionality such as painting the docking frame and resizing bar. Also, zone object are passed to a number of events. They provide information on operations currently performed. For instance, dock zones provide information on the type of docking operation performed. Resize zones provide information about resizing direction.

Zones Hierarchy


The image below shows the inheritance diagram for zones. Click the diagram items or the corresponding links below for a brief overview of each zone type.

See Also