Create a tab control as a child of parent.
Add a page captioned title showing pageContent when selected. Returns the index of the newly inserted page.
The display rect (content area below the tab strip), in client coordinates.
The preferred size of the tab control.
The index of the currently selected page, or -1 if none.
Translate tab-selection-change notifications into onPageChanged.
Re-positions all pages into the current display rect; call on window resize.
Move/resize the tab control (bounds r, parent-relative), then re-lay out its pages.
Select the page at index, showing its content and hiding the rest.
Change the label of the tab at index (e.g. when the UI language changes).
Fired when the selected page changes, with the new page index.
The control's command identifier (the hMenu child id at creation).
Set the control's text.
Get the control's text.
Assign a font to the control and request a repaint.
A reasonable default preferred size; override per control type.
Handle a WM_COMMAND notification routed from the parent.
Handle a WM_NOTIFY notification routed from the parent. Return true if it was handled. The default does nothing.
Install a subclass window procedure so the control can intercept its own messages (for example, swallowing the Enter key in a text field). Idempotent. Subclasses override processSubclassed to do the work.
Intercept a message while subclassed. Set result and return true to consume the message; return false to let default processing continue.
A native tab control hosting one Widget per page.
Pages are positioned into the tab control's display rect (the area below the tab strip). The page widgets are expected to be children of the same parent window as the tab control.