Side Container Sites
- 4 minutes to read
Side containers are a specific kind of dock control that hold several child controls. Child controls are displayed all at once and are arranged either vertically or horizontally. The image below shows examples of a vertical side container.
For reference information on side containers, please refer to the TdxVertContainerDockSite and TdxHorizContainerDockSite class descriptions.
How to Create a Side Container
To create a horizontal side container, you need to dock one control to the left or right edge of another control. The image below shows how to create a horizontal side container comprised of two dock panels. One panel is docked to the left edge of another.
If you need to create a vertical side container, a dock control must be docked to the top or bottom edge of another control. The image below shows an example.
Tab containers and side containers can be direct children of side containers. Note however, that such functionality is only available when the doTabContainerCanInSideContainer and doSideContainerCanInSideContainer options are enabled respectively. These options can be accessed via the Options property of the docking manager.
The image below shows an example of creating a side container whose children are a tab container and another side container.
Settings of Side Containers
Side containers, as well as dock panels provide a number of settings affecting their appearance and functionality. Also, they provide settings for child management, such as specifying the currently active (maximized) child. The image below shows some of these settings. (The vertical side container is considered.)
For detailed information on features provided by side containers, please refer to the TdxVertContainerDockSite and TdxHorizContainerDockSite class descriptions.
Feature Specifics
Docking operations on side containers are allowed only when their caption is visible. When a side container is floating its caption is displayed independently of any settings. If docked, the caption visibility is specified by the doSideContainerHasCaption option and the container’s ShowCaption property.
Side containers can be docked to tab containers only when the doSideContainerCanInTabContainer option is enabled. If the doSideContainerCanInSideContainer option is active, side containers can be docked to other side containers. Note that the latter implies that different kinds of containers are docked to each other (for instance, a vertical side container is docked to a horizontal side container). If the same kind of side container are docked to each other, children of the source container are added to the target container. Such operations are allowed independent of any settings. Note also, that if the doSideContainerCanInSideContainer option is disabled, docking different kinds of side containers to each other results in forming a single side container of the target container’s kind.
The functionality of the close button is controlled by the doSideContainerCanClose option. If enabled, the close button affects all the controls comprising the side container. Otherwise, the button affects the currently active (maximized) child. If none of the children is maximized, the first valid child is closed. Refer to the ValidChildren property description for details on which children are considered valid.
The functionality of the auto hide button is controlled by the doSideContainerCanAutoHide option. If enabled, pressing the auto hide button enables the auto hide feature for the side container. Otherwise, the auto hide feature is enabled for the currently active child. When there is no active child, the child control to be closed is determined in the same manner as described in the previous paragraph for the close button.
When the auto hide feature is enabled for a side container, the corresponding label displays captions of child panels separated by comma characters. The image below shows an example.