wxWidgets: wxBookCtrl Overview

| Version: 3.0.4

wxBookCtrl Overview

A book control is a convenient way of displaying multiple pages of information, displayed one page at a time.

wxWidgets has five variants of this control:

- wxChoicebook: controlled by a wxChoice
- wxListbook: controlled by a wxListCtrl
- wxNotebook: uses a row of tabs
- wxSimplebook: doesn't allow the user to change the page at all.
- wxTreebook: controlled by a wxTreeCtrl
- wxToolbook: controlled by a wxToolBar

See the Notebook Sample for an example of wxBookCtrl usage.

Notice that wxSimplebook is special in that it only allows the program to change the selection, thus it's usually used in slightly different circumstances than the other variants.

See also
  Book Controls

# Best Book

wxBookCtrl is mapped to the class best suited for a given platform. Currently it provides wxChoicebook for smartphones equipped with WinCE, and wxNotebook for all other platforms. The mapping consists of:

wxBookCtrl | wxChoicebook or wxNotebook
`wxEVT_COMMAND_BOOKCTRL_PAGE_CHANGED` | `wxEVT_COMMAND_CHOICEBOOK_PAGE_CHANGED` or `wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED`
`wxEVT_COMMAND_BOOKCTRL_PAGE_CHANGING` | `wxEVT_COMMAND_CHOICEBOOK_PAGE_CHANGING` or `wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGING`
`EVT_BOOKCTRL_PAGE_CHANGED(id, fn)` | `EVT_CHOICEBOOK_PAGE_CHANGED(id, fn)` or `EVT_NOTEBOOK_PAGE_CHANGED(id, fn)`
`EVT_BOOKCTRL_PAGE_CHANGING(id, fn)` | `EVT_CHOICEBOOK_PAGE_CHANGING(id, fn)` or `EVT_NOTEBOOK_PAGE_CHANGING(id, fn)`

For orientation of the book controller, use following flags in style:

- wxBK_TOP: controller above pages
- wxBK_BOTTOM: controller below pages
- wxBK_LEFT: controller on the left
- wxBK_RIGHT: controller on the right
- wxBK_DEFAULT: native controller placement