1 \section{\class{wxNotebook
}}\label{wxnotebook
}
3 This class represents a notebook control, which manages multiple windows with associated tabs.
5 To use the class, create a wxNotebook object and call
\helpref{AddPage
}{wxnotebookaddpage
} or
\helpref{InsertPage
}{wxnotebookinsertpage
},
6 passing a window to be used as the page. Do not explicitly delete the window for a page that is currently
9 {\bf wxNotebookPage
} is a typedef for wxWindow.
11 \wxheading{Derived from
}
13 \helpref{wxControl
}{wxcontrol
}\\
14 \helpref{wxWindow
}{wxwindow
}\\
15 \helpref{wxEvtHandler
}{wxevthandler
}\\
16 \helpref{wxObject
}{wxobject
}
18 \wxheading{Include files
}
22 \wxheading{Window styles
}
25 \begin{twocollist
}\itemsep=
0pt
26 \twocolitem{\windowstyle{wxNB
\_TOP}}{Place tabs on the top side.
}
27 \twocolitem{\windowstyle{wxNB
\_LEFT}}{Place tabs on the left side.
}
28 \twocolitem{\windowstyle{wxNB
\_RIGHT}}{Place tabs on the right side.
}
29 \twocolitem{\windowstyle{wxNB
\_BOTTOM}}{Place tabs under instead of above the notebook pages.
}
30 \twocolitem{\windowstyle{wxNB
\_FIXEDWIDTH}}{(Windows only) All tabs will have same width.
}
31 \twocolitem{\windowstyle{wxNB
\_MULTILINE}}{(Windows only) There can be several rows of tabs.
}
32 \twocolitem{\windowstyle{wxNB
\_NOPAGETHEME}}{(Windows only) Display a solid colour on notebook pages, and not a gradient, which can reduce performance.
}
33 \twocolitem{\windowstyle{wxNB
\_FLAT}}{(Windows CE only) Show tabs in a flat style.
}
37 The styles
\texttt{wxNB
\_LEFT},
\texttt{RIGHT
} and
\texttt{BOTTOM
} are not
38 supported under Microsoft Windows XP when using visual themes.
40 See also
\helpref{window styles overview
}{windowstyles
}.
44 \wxheading{Page backgrounds
}
46 On Windows XP, the default theme paints a gradient on the notebook's pages.
47 If you wish to suppress this theme, for aesthetic or performance reasons,
48 there are three ways of doing it. You can use wxNB
\_NOPAGETHEME to disable
49 themed drawing for a particular notebook, you can call
{\tt wxSystemOptions::SetOption
}
50 to disable it for the whole application, or you can disable it for individual
51 pages by using
{\tt SetBackgroundColour
}.
53 To disable themed pages globally:
56 wxSystemOptions::SetOption(wxT("msw.notebook.themed-background"),
0);
59 Set the value to
1 to enable it again.
61 To give a single page a solid background that more or less fits in with the
65 wxColour col = notebook->GetThemeBackgroundColour();
68 page->SetBackgroundColour(col);
72 On platforms other than Windows, or if the application is not using Windows
73 themes,
{\tt GetThemeBackgroundColour
} will return an uninitialised colour object,
74 and the above code will therefore work on all platforms.
78 \helpref{wxBookCtrl
}{wxbookctrloverview
},
\helpref{wxNotebookEvent
}{wxnotebookevent
},
\helpref{wxImageList
}{wximagelist
},
\helpref{notebook sample
}{samplenotebook
}\rtfsp
80 \latexignore{\rtfignore{\wxheading{Members
}}}
82 \membersection{wxNotebook::wxNotebook
}\label{wxnotebookctor
}
84 \func{}{wxNotebook
}{\void}
88 \func{}{wxNotebook
}{\param{wxWindow*
}{ parent
},
\param{wxWindowID
}{id
},
\param{const wxPoint\&
}{ pos = wxDefaultPosition
},
89 \param{const wxSize\&
}{ size = wxDefaultSize
},
\param{long
}{ style =
0},
\param{const wxString\&
}{name = wxNotebookNameStr
}}
91 Constructs a notebook control.
93 Note that sometimes you can reduce flicker by passing the wxCLIP
\_CHILDREN window style.
95 \wxheading{Parameters
}
97 \docparam{parent
}{The parent window. Must be non-NULL.
}
99 \docparam{id
}{The window identifier.
}
101 \docparam{pos
}{The window position.
}
103 \docparam{size
}{The window size.
}
105 \docparam{style
}{The window style. See
\helpref{wxNotebook
}{wxnotebook
}.
}
107 \docparam{name
}{The name of the control (used only under Motif).
}
110 \membersection{wxNotebook::
\destruct{wxNotebook
}}\label{wxnotebookdtor
}
112 \func{}{\destruct{wxNotebook
}}{\void}
114 Destroys the wxNotebook object.
117 \membersection{wxNotebook::AddPage
}\label{wxnotebookaddpage
}
119 \func{bool
}{AddPage
}{\param{wxNotebookPage*
}{ page
},
120 \param{const wxString\&
}{ text
},
121 \param{bool
}{ select = false
},
122 \param{int
}{ imageId = -
1}}
126 The call to this function may generate the page changing events.
128 \wxheading{Parameters
}
130 \docparam{page
}{Specifies the new page.
}
132 \docparam{text
}{Specifies the text for the new page.
}
134 \docparam{select
}{Specifies whether the page should be selected.
}
136 \docparam{imageId
}{Specifies the optional image index for the new page.
}
138 \wxheading{Return value
}
140 true if successful, false otherwise.
144 Do not delete the page, it will be deleted by the notebook.
148 \helpref{wxNotebook::InsertPage
}{wxnotebookinsertpage
}
151 \membersection{wxNotebook::AdvanceSelection
}\label{wxnotebookadvanceselection
}
153 \func{void
}{AdvanceSelection
}{\param{bool
}{ forward = true
}}
155 Cycles through the tabs.
157 The call to this function generates the page changing events.
160 \membersection{wxNotebook::AssignImageList
}\label{wxnotebookassignimagelist
}
162 \func{void
}{AssignImageList
}{\param{wxImageList*
}{ imageList
}}
164 Sets the image list for the page control and takes ownership of
169 \helpref{wxImageList
}{wximagelist
},
170 \helpref{SetImageList
}{wxnotebooksetimagelist
}
173 \membersection{wxNotebook::Create
}\label{wxnotebookcreate
}
175 \func{bool
}{Create
}{\param{wxWindow*
}{ parent
},
\param{wxWindowID
}{id
},
\param{const wxPoint\&
}{ pos = wxDefaultPosition
},
176 \param{const wxSize\&
}{ size
},
\param{long
}{ style =
0},
\param{const wxString\&
}{name = wxNotebookNameStr
}}
178 Creates a notebook control. See
\helpref{wxNotebook::wxNotebook
}{wxnotebookctor
} for a description
182 \membersection{wxNotebook::DeleteAllPages
}\label{wxnotebookdeleteallpages
}
184 \func{bool
}{DeleteAllPages
}{\void}
189 \membersection{wxNotebook::DeletePage
}\label{wxnotebookdeletepage
}
191 \func{bool
}{DeletePage
}{\param{size
\_t}{ page
}}
193 Deletes the specified page, and the associated window.
195 The call to this function generates the page changing events.
198 \membersection{wxNotebook::GetCurrentPage
}\label{wxnotebookgetcurrentpage
}
200 \constfunc{wxWindow *
}{GetCurrentPage
}{\void}
202 Returns the currently selected notebook age or
\texttt{NULL
}.
205 \membersection{wxNotebook::GetImageList
}\label{wxnotebookgetimagelist
}
207 \constfunc{wxImageList*
}{GetImageList
}{\void}
209 Returns the associated image list.
213 \helpref{wxImageList
}{wximagelist
},
\helpref{wxNotebook::SetImageList
}{wxnotebooksetimagelist
}
216 \membersection{wxNotebook::GetPage
}\label{wxnotebookgetpage
}
218 \func{wxNotebookPage*
}{GetPage
}{\param{size
\_t}{ page
}}
220 Returns the window at the given page position.
223 \membersection{wxNotebook::GetPageCount
}\label{wxnotebookgetpagecount
}
225 \constfunc{size
\_t}{GetPageCount
}{\void}
227 Returns the number of pages in the notebook control.
230 \membersection{wxNotebook::GetPageImage
}\label{wxnotebookgetpageimage
}
232 \constfunc{int
}{GetPageImage
}{\param{size
\_t }{nPage
}}
234 Returns the image index for the given page.
237 \membersection{wxNotebook::GetPageText
}\label{wxnotebookgetpagetext
}
239 \constfunc{wxString
}{GetPageText
}{\param{size
\_t }{nPage
}}
241 Returns the string for the given page.
244 \membersection{wxNotebook::GetRowCount
}\label{wxnotebookgetrowcount
}
246 \constfunc{int
}{GetRowCount
}{\void}
248 Returns the number of rows in the notebook control.
251 \membersection{wxNotebook::GetSelection
}\label{wxnotebookgetselection
}
253 \constfunc{int
}{GetSelection
}{\void}
255 Returns the currently selected page, or $-
1$ if none was selected.
257 Note that this method may return either the previously or newly selected page
258 when called from the
{\tt EVT
\_NOTEBOOK\_PAGE\_CHANGED} handler depending on
259 the platform and so
\rtfsp
260 \helpref{wxNotebookEvent::GetSelection
}{wxnotebookeventgetselection
} should be
261 used instead in this case.
263 \membersection{wxNotebook::GetThemeBackgroundColour
}\label{wxnotebookgetthemebackgroundcolour
}
265 \constfunc{wxColour
}{GetThemeBackgroundColour
}{\void}
267 If running under Windows and themes are enabled for the application, this function
268 returns a suitable colour for painting the background of a notebook page, and can be passed
269 to
{\tt SetBackgroundColour
}. Otherwise, an uninitialised colour will be returned.
271 \membersection{wxNotebook::HitTest
}\label{wxnotebookhittest
}
273 \func{int
}{HitTest
}{\param{const wxPoint\&
}{ pt
},
\param{long
}{ *flags =
{\tt NULL
}}}
275 Returns the index of the tab at the specified position or
{\tt wxNOT
\_FOUND}
276 if none. If
{\it flags
} parameter is non
{\tt NULL
}, the position of the point
277 inside the tab is returned as well.
279 \wxheading{Parameters
}
281 \docparam{pt
}{Specifies the point for the hit test.
}
283 \docparam{flags
}{Return value for detailed information. One of the following values:
285 \begin{twocollist
}\itemsep=
0pt
286 \twocolitem{{\bf wxNB
\_HITTEST\_NOWHERE}}{There was no tab under this point.
}
287 \twocolitem{{\bf wxNB
\_HITTEST\_ONICON}}{The point was over an icon (currently wxMSW only).
}
288 \twocolitem{{\bf wxNB
\_HITTEST\_ONLABEL}}{The point was over a label (currently wxMSW only).
}
289 \twocolitem{{\bf wxNB
\_HITTEST\_ONITEM}}{The point was over an item, but not on the label or icon.
}
293 \wxheading{Return value
}
295 Returns the zero-based tab index or
{\tt wxNOT
\_FOUND} if there is no tab is at
296 the specified position.
300 \membersection{wxNotebook::InsertPage
}\label{wxnotebookinsertpage
}
302 \func{bool
}{InsertPage
}{\param{size
\_t}{ index
},
\param{wxNotebookPage*
}{ page
},
303 \param{const wxString\&
}{ text
},
304 \param{bool
}{ select = false
},
305 \param{int
}{ imageId = -
1}}
307 Inserts a new page at the specified position.
309 \wxheading{Parameters
}
311 \docparam{index
}{Specifies the position for the new page.
}
313 \docparam{page
}{Specifies the new page.
}
315 \docparam{text
}{Specifies the text for the new page.
}
317 \docparam{select
}{Specifies whether the page should be selected.
}
319 \docparam{imageId
}{Specifies the optional image index for the new page.
}
321 \wxheading{Return value
}
323 true if successful, false otherwise.
327 Do not delete the page, it will be deleted by the notebook.
331 \helpref{wxNotebook::AddPage
}{wxnotebookaddpage
}
334 \membersection{wxNotebook::OnSelChange
}\label{wxnotebookonselchange
}
336 \func{void
}{OnSelChange
}{\param{wxNotebookEvent\&
}{ event
}}
338 An event handler function, called when the page selection is changed.
342 \helpref{wxNotebookEvent
}{wxnotebookevent
}
345 \membersection{wxNotebook::RemovePage
}\label{wxnotebookremovepage
}
347 \func{bool
}{RemovePage
}{\param{size
\_t}{ page
}}
349 Deletes the specified page, without deleting the associated window.
352 \membersection{wxNotebook::SetImageList
}\label{wxnotebooksetimagelist
}
354 \func{void
}{SetImageList
}{\param{wxImageList*
}{ imageList
}}
356 Sets the image list for the page control. It does not take
357 ownership of the image list, you must delete it yourself.
361 \helpref{wxImageList
}{wximagelist
},
362 \helpref{AssignImageList
}{wxnotebookassignimagelist
}
365 \membersection{wxNotebook::SetPadding
}\label{wxnotebooksetpadding
}
367 \func{void
}{SetPadding
}{\param{const wxSize\&
}{ padding
}}
369 Sets the amount of space around each page's icon and label, in pixels.
371 {\bf NB:
} The vertical padding cannot be changed in wxGTK.
374 \membersection{wxNotebook::SetPageSize
}\label{wxnotebooksetpagesize
}
376 \func{void
}{SetPageSize
}{\param{const wxSize\&
}{ size
}}
378 Sets the width and height of the pages.
380 {\bf NB:
} This method is currently not implemented for wxGTK.
383 \membersection{wxNotebook::SetPageImage
}\label{wxnotebooksetpageimage
}
385 \func{bool
}{SetPageImage
}{\param{size
\_t}{ page
},
\param{int
}{image
}}
387 Sets the image index for the given page.
{\it image
} is an index into
388 the image list which was set with
\helpref{wxNotebook::SetImageList
}{wxnotebooksetimagelist
}.
391 \membersection{wxNotebook::SetPageText
}\label{wxnotebooksetpagetext
}
393 \func{bool
}{SetPageText
}{\param{size
\_t}{ page
},
\param{const wxString\&
}{text
}}
395 Sets the text for the given page.
398 \membersection{wxNotebook::SetSelection
}\label{wxnotebooksetselection
}
400 \func{int
}{SetSelection
}{\param{size
\_t}{ page
}}
402 Sets the selection for the given page, returning the previous selection.
404 The call to this function generates the page changing events.
408 \helpref{wxNotebook::GetSelection
}{wxnotebookgetselection
}