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