Window-owning controls have the same size and position as a window in the display. Each window has a one-to-one relationship with the control that covers it, and shares its behavior with that control.
Examples of window-owning controls include:
top-level control in Traditional Symbian OS architecture
the subpanes in the status pane
pop-up windows, when a sense of layering is required
The following code snippet is an example of the second phase construction of a window-owning control:
CMyControl::ConstructL()
{
CreateWindowL(); // This makes the control window-
// owning
SetRectL(ClientRect()); // This sets the control’s
// size
ActivateL(); // This must be called before
// the control can be drawn
}
ClientRect() returns the screen area available
to the application for drawing. This typically does not include the space
that is reserved for the status/control panes.
For more information, see The run-time control hierarchy in the Symbian OS Library
Non-window-owning controls typically cover only part of a window on the display, and must be contained in window-owning controls. They are faster and require fewer resources than window-owning controls.
Examples of non-window-owning controls include:
command buttons
edit windows
labels
Non-window-owning controls are assigned to window-owning controls by
calling CCoeControl::SetContainerWindowL when the
control is constructed.
For more information, see The run-time control hierarchy in the Symbian OS Library