wxNotebookThis class represents a notebook control, which manages multiple windows with associated tabs. To use the class, create a wxNotebook object and call AddPage or InsertPage, passing a window to be used as the page. Do not explicitly delete the window for a page that is currently managed by wxNotebook. wxNotebookPage is a typedef for wxWindow. Derived from
wxControl Include files <wx/notebook.h> Window styles
The styles wxNB_LEFT, RIGHT and BOTTOM are not supported under Microsoft Windows XP when using visual themes. See also window styles overview. Event handling To process input from a notebook control, use the following event handler macros to direct input to member functions that take a wxNotebookEvent argument.
Page backgrounds On Windows XP, the default theme paints a gradient on the notebook's pages. If you wish to suppress this theme, for aesthetic or performance reasons, there are three ways of doing it. You can use wxNB_NOPAGETHEME to disable themed drawing for a particular notebook, you can call wxSystemOptions::SetOption to disable it for the whole application, or you can disable it for individual pages by using SetBackgroundColour. To disable themed pages globally:
wxSystemOptions::SetOption(wxT("msw.notebook.themed-background"), 0);Set the value to 1 to enable it again. To give a single page a solid background that more or less fits in with the overall theme, use:
wxColour col = notebook->GetThemeBackgroundColour(); if (col.Ok()) { page->SetBackgroundColour(col); }On platforms other than Windows, or if the application is not using Windows themes, GetThemeBackgroundColour will return an uninitialised colour object, and the above code will therefore work on all platforms. See also wxBookCtrl, wxNotebookEvent, wxImageList, notebook sample Members
wxNotebook::wxNotebook
wxNotebook::wxNotebookwxNotebook() Default constructor. wxNotebook(wxWindow* parent, wxWindowID id, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = 0, const wxString& name = wxNotebookNameStr) Constructs a notebook control. Note that sometimes you can reduce flicker by passing the wxCLIP_CHILDREN window style. Parameters parent
id
pos
size
style
name
wxNotebook::~wxNotebook~wxNotebook() Destroys the wxNotebook object.
wxNotebook::AddPagebool AddPage(wxNotebookPage* page, const wxString& text, bool select = false, int imageId = -1) Adds a new page. The call to this function may generate the page changing events. Parameters page
text
select
imageId
Return value true if successful, false otherwise. Remarks Do not delete the page, it will be deleted by the notebook. See also
wxNotebook::AdvanceSelectionvoid AdvanceSelection(bool forward = true) Cycles through the tabs. The call to this function generates the page changing events.
wxNotebook::AssignImageListvoid AssignImageList(wxImageList* imageList) Sets the image list for the page control and takes ownership of the list. See also
wxNotebook::ChangeSelectionint ChangeSelection(size_t page) Changes the selection for the given page, returning the previous selection. The call to this function does not generate the page changing events. This is the only difference with SetSelection. See this topic for more info.
wxNotebook::Createbool Create(wxWindow* parent, wxWindowID id, const wxPoint& pos = wxDefaultPosition, const wxSize& size, long style = 0, const wxString& name = wxNotebookNameStr) Creates a notebook control. See wxNotebook::wxNotebook for a description of the parameters.
wxNotebook::DeleteAllPagesbool DeleteAllPages() Deletes all pages.
wxNotebook::DeletePagebool DeletePage(size_t page) Deletes the specified page, and the associated window. The call to this function generates the page changing events.
wxNotebook::GetCurrentPagewxWindow * GetCurrentPage() const Returns the currently selected notebook page or NULL.
wxNotebook::GetImageListwxImageList* GetImageList() const Returns the associated image list. See also wxImageList, wxNotebook::SetImageList
wxNotebook::GetPagewxNotebookPage* GetPage(size_t page) Returns the window at the given page position.
wxNotebook::GetPageCountsize_t GetPageCount() const Returns the number of pages in the notebook control.
wxNotebook::GetPageImageint GetPageImage(size_t nPage) const Returns the image index for the given page.
wxNotebook::GetPageTextwxString GetPageText(size_t nPage) const Returns the string for the given page.
wxNotebook::GetRowCountint GetRowCount() const Returns the number of rows in the notebook control.
wxNotebook::GetSelectionint GetSelection() const Returns the currently selected page, or -1 if none was selected. Note that this method may return either the previously or newly selected page when called from the EVT_NOTEBOOK_PAGE_CHANGED handler depending on the platform and so wxNotebookEvent::GetSelection should be used instead in this case.
wxNotebook::GetThemeBackgroundColourwxColour GetThemeBackgroundColour() const If running under Windows and themes are enabled for the application, this function returns a suitable colour for painting the background of a notebook page, and can be passed to SetBackgroundColour. Otherwise, an uninitialised colour will be returned.
wxNotebook::HitTestint HitTest(const wxPoint& pt, long *flags = NULL) Returns the index of the tab at the specified position or wxNOT_FOUND if none. If flags parameter is non-NULL, the position of the point inside the tab is returned as well. Parameters pt
flags
Return value Returns the zero-based tab index or wxNOT_FOUND if there is no tab is at the specified position.
wxNotebook::InsertPagebool InsertPage(size_t index, wxNotebookPage* page, const wxString& text, bool select = false, int imageId = -1) Inserts a new page at the specified position. Parameters index
page
text
select
imageId
Return value true if successful, false otherwise. Remarks Do not delete the page, it will be deleted by the notebook. See also
wxNotebook::OnSelChangevoid OnSelChange(wxNotebookEvent& event) An event handler function, called when the page selection is changed. See also
wxNotebook::RemovePagebool RemovePage(size_t page) Deletes the specified page, without deleting the associated window.
wxNotebook::SetImageListvoid SetImageList(wxImageList* imageList) Sets the image list for the page control. It does not take ownership of the image list, you must delete it yourself. See also
wxNotebook::SetPaddingvoid SetPadding(const wxSize& padding) Sets the amount of space around each page's icon and label, in pixels. NB: The vertical padding cannot be changed in wxGTK.
wxNotebook::SetPageSizevoid SetPageSize(const wxSize& size) Sets the width and height of the pages. NB: This method is currently not implemented for wxGTK.
wxNotebook::SetPageImagebool SetPageImage(size_t page, int image) Sets the image index for the given page. image is an index into the image list which was set with wxNotebook::SetImageList.
wxNotebook::SetPageTextbool SetPageText(size_t page, const wxString& text) Sets the text for the given page.
wxNotebook::SetSelectionint SetSelection(size_t page) Sets the selection for the given page, returning the previous selection. The call to this function generates the page changing events. This function is deprecated and should not be used in new code. Please use the ChangeSelection function instead. See also |