\section{\class{wxNotebookEvent}}\label{wxnotebookevent}

This class represents the events generated by a notebook control: currently,
there are two of them. The PAGE\_CHANGING event is sent before the current
page is changed. It allows to the program to examine the current page (which
can be retrieved with 
\helpref{GetOldSelection()}{wxnotebookeventgetoldselection}) and to veto the page
change by calling \helpref{Veto()}{wxnotifyeventveto} if, for example, the
current values in the controls of the old page are invalid.

The second event - PAGE\_CHANGED - is sent after the page has been changed and
the program cannot veto it any more, it just informs it about the page change.

To summarize, if the program is interested in validating the page values
before allowing the user to change it, it should process the PAGE\_CHANGING
event, otherwise PAGE\_CHANGED is probably enough. In any case, it is probably
unnecessary to process both events at once.

{\bf NB:} under Windows, GetSelection() will return the same value as
GetOldSelection() when called from PAGE\_CHANGING handler and not the page
which is going to be selected if the handler doesn't call Veto().

\wxheading{Derived from}

\helpref{wxNotifyEvent}{wxnotifyevent}\\
\helpref{wxCommandEvent}{wxcommandevent}\\
\helpref{wxEvent}{wxevent}\\
\helpref{wxEvtHandler}{wxevthandler}\\
\helpref{wxObject}{wxobject}

\wxheading{Include files}

<wx/notebook.h>

\wxheading{Event table macros}

To process a notebook event, use these event handler macros to direct input to member
functions that take a wxNotebookEvent argument.

\twocolwidtha{7cm}
\begin{twocollist}\itemsep=0pt
\twocolitem{{\bf EVT\_NOTEBOOK\_PAGE\_CHANGED(id, func)}}{The page selection was changed. Processes a
wxEVT\_COMMAND\_NOTEBOOK\_PAGE\_CHANGED event.}
\twocolitem{{\bf EVT\_NOTEBOOK\_PAGE\_CHANGING(id, func)}}{The page selection is about to be changed.
Processes a wxEVT\_COMMAND\_NOTEBOOK\_PAGE\_CHANGING event. This event can be \helpref{vetoed}{wxnotifyeventveto}.}
\end{twocollist}%

\wxheading{See also}

\helpref{wxNotebook}{wxnotebook}, \helpref{wxTabCtrl}{wxtabctrl}, \helpref{wxTabEvent}{wxtabevent}

\latexignore{\rtfignore{\wxheading{Members}}}

\membersection{wxNotebookEvent::wxNotebookEvent}\label{wxnotebookeventconstr}

\func{}{wxNotebookEvent}{\param{wxEventType}{ eventType = wxEVT\_NULL},
 \param{int}{ id = 0}, \param{int}{ sel = -1}, \param{int}{ oldSel = -1}}

Constructor (used internally by wxWindows only).

\membersection{wxNotebookEvent::GetOldSelection}\label{wxnotebookeventgetoldselection}

\constfunc{int}{GetOldSelection}{\void}

Returns the page that was selected before the change, -1 if none was selected.

\membersection{wxNotebookEvent::GetSelection}\label{wxnotebookeventgetselection}

\constfunc{int}{GetSelection}{\void}

Returns the currently selected page, or -1 if none was selected.

\membersection{wxNotebookEvent::SetOldSelection}\label{wxnotebookeventsetoldselection}

\func{void}{SetOldSelection}{\param{int}{ page}}

Sets the id of the page selected before the change.

\membersection{wxNotebookEvent::SetSelection}\label{wxnotebookeventsetselection}

\func{void}{SetSelection}{\param{int}{ page}}

Sets the selection member variable.

\wxheading{See also}

\helpref{wxNotebookEvent::GetSelection}{wxnotebookeventgetselection}


