Contents Up Previous Next

wxNotebookSizer

wxNotebookSizer is a specialized sizer to make sizers work in connection with using notebooks. This sizer is different from any other sizer as you must not add any children to it - instead, it queries the notebook class itself. The only thing this sizer does is to determine the size of the biggest page of the notebook and report an adjusted minimal size to a more toplevel sizer.

In order to query the size of notebook page, this page needs to have its own sizer, otherwise the wxNotebookSizer will ignore it. Notebook pages get there sizer by assiging one to them using wxWindow::SetSizer and setting the auto-layout option to TRUE using wxWindow::SetAutoLayout. Here is one example showing how to add a notebook page that the notebook sizer is aware of:

    wxNotebook *notebook = new wxNotebook( &dialog, -1 );
    wxNotebookSizer *nbs = new wxNotebookSizer( notebook );

    // Add panel as notebook page
    wxPanel *panel = new wxPanel( notebook, -1 );
    notebook->AddPage( panel, "My Notebook Page" );

    wxBoxSizer *panelsizer = new wxBoxSizer( wxVERTICAL );

    // Add controls to panel and panelsizer here...

    panel->SetAutoLayout( TRUE );
    panel->SetSizer( panelsizer );
See also wxSizer, wxNotebook.

Derived from

wxSizer
wxObject

Members

wxNotebookSizer::wxNotebookSizer
wxNotebookSizer::GetNotebook


wxNotebookSizer::wxNotebookSizer

wxNotebookSizer(wxNotebook* notebook)

Constructor. It takes an associated notebook as its only parameter.


wxNotebookSizer::GetNotebook

wxNotebook* GetNotebook()

Returns the notebook associated with the sizer.