\helpref{wxEvtHandler}{wxevthandler}\\
\helpref{wxObject}{wxobject}
+\wxheading{Include files}
+
+<wx/choice.h>
+
\wxheading{Window styles}
There are no special styles for wxChoice.
See also \helpref{window styles overview}{windowstyles}.
+\wxheading{Event handling}
+
+\twocolwidtha{7cm}
+\begin{twocollist}\itemsep=0pt
+\twocolitem{{\bf EVT\_CHOICE(id, func)}}{Process a wxEVT\_COMMAND\_CHOICE\_SELECTED event,
+when an item on the list is selected.}
+\end{twocollist}
+
\wxheading{See also}
-\helpref{wxListBox}{wxlistbox}
+\helpref{wxListBox}{wxlistbox}, \helpref{wxComboBox}{wxcombobox},
+\rtfsp\helpref{wxCommandEvent}{wxcommandevent}
\latexignore{\rtfignore{\wxheading{Members}}}
Default constructor.
-\func{}{wxChoice}{\param{wxWindow *}{parent}, \param{const wxWindowID}{ id},\rtfsp
+\func{}{wxChoice}{\param{wxWindow *}{parent}, \param{wxWindowID}{ id},\rtfsp
\param{const wxPoint\& }{pos}, \param{const wxSize\&}{ size},\rtfsp
-\param{const int}{ n}, \param{const wxString }{choices[]},\rtfsp
-\param{const long}{ style = 0}, \param{const wxValidator\& }{validator = wxDefaultValidator}, \param{const wxString\& }{name = ``choice"}}
+\param{int}{ n}, \param{const wxString }{choices[]},\rtfsp
+\param{long}{ style = 0}, \param{const wxValidator\& }{validator = wxDefaultValidator}, \param{const wxString\& }{name = ``choice"}}
Constructor, creating and showing a choice.
\helpref{wxChoice::Create}{wxchoicecreate}, \helpref{wxValidator}{wxvalidator}
+\pythonnote{The wxChoice constructor in wxPython reduces the {\tt n}
+and {\tt choices} arguments are to a single argument, which is
+a list of strings.}
+
+\perlnote{In wxPerl there is just an array reference in place of {\tt n}
+and {\tt choices}.}
+
\membersection{wxChoice::\destruct{wxChoice}}
\func{}{\destruct{wxChoice}}{\void}
Adds the item to the end of the choice control.
+\func{void}{Append}{\param{const wxString\& }{ item}, \param{void* }{clientData}}
+
+Adds the item to the end of the combobox, associating the given data
+with the item.
+
\wxheading{Parameters}
\docparam{item}{String to add.}
+\docparam{clientData}{Client data to associate with the item.}
+
\membersection{wxChoice::Clear}\label{wxchoiceclear}
\func{void}{Clear}{\void}
\membersection{wxChoice::Create}\label{wxchoicecreate}
-\func{bool}{Create}{\param{wxWindow *}{parent}, \param{const wxWindowID}{ id},\rtfsp
+\func{bool}{Create}{\param{wxWindow *}{parent}, \param{wxWindowID}{ id},\rtfsp
\param{const wxPoint\& }{pos}, \param{const wxSize\&}{ size},\rtfsp
-\param{const int}{ n}, \param{const wxString }{choices[]},\rtfsp
-\param{const long}{ style = 0}, \param{const wxString\& }{name = ``choice"}}
+\param{int}{ n}, \param{const wxString }{choices[]},\rtfsp
+\param{long}{ style = 0}, \param{const wxString\& }{name = ``choice"}}
Creates the choice for two-step construction. See \helpref{wxChoice::wxChoice}{wxchoiceconstr}.
This is implemented for Motif only.
+\membersection{wxChoice::GetClientData}\label{wxchoicegetclientdata}
+
+\constfunc{void*}{GetClientData}{\param{int}{ n}}
+
+Returns a pointer to the client data associated with the given item (if any).
+
+\wxheading{Parameters}
+
+\docparam{n}{An item, starting from zero.}
+
+\wxheading{Return value}
+
+A pointer to the client data, or NULL if the item was not found.
+
+\membersection{wxChoice::GetCount}\label{wxchoicegetcount}
+
+\constfunc{int}{GetCount}{\void}
+
+Returns the number of items in the choice.
+
\membersection{wxChoice::GetSelection}\label{wxchoicegetselection}
\constfunc{int}{GetSelection}{\void}
\membersection{wxChoice::GetString}\label{wxchoicegetstring}
-\constfunc{wxString}{GetString}{\param{const int}{ n}}
+\constfunc{wxString}{GetString}{\param{int}{ n}}
Returns the string at the given position.
\constfunc{int}{Number}{\void}
+{\bf Obsolescence note:} This method is obsolete and was replaced with
+\helpref{GetCount}{wxchoicegetcount}, please use the new method in the new
+code. This method is only available if wxWindows was compiled with
+{\tt WXWIN\_COMPATIBILITY\_2\_2} defined and will disappear completely in
+future versions.
+
Returns the number of strings in the choice control.
+\membersection{wxChoice::SetClientData}\label{wxchoicesetclientdata}
+
+\func{void}{SetClientData}{\param{int}{ n}, \param{void* }{data}}
+
+Associates the given client data pointer with the given item.
+
+\wxheading{Parameters}
+
+\docparam{n}{The zero-based item.}
+
+\docparam{data}{The client data.}
+
\membersection{wxChoice::SetColumns}\label{wxchoicesetcolumns}
-\func{void}{SetColumns}{\param{const int}{ n = 1}}
+\func{void}{SetColumns}{\param{int}{ n = 1}}
Sets the number of columns in this choice item.
\membersection{wxChoice::SetSelection}\label{wxchoicesetselection}
-\func{void}{SetSelection}{\param{const int}{ n}}
+\func{void}{SetSelection}{\param{int}{ n}}
-Sets the choice by passing the desired string position.
+Sets the choice by passing the desired string position. This does not cause
+a wxEVT\_COMMAND\_CHOICE\_SELECTED event to get emitted.
\wxheading{Parameters}
\func{void}{SetStringSelection}{\param{const wxString\& }{ string}}
-Sets the choice by passing the desired string.
+Sets the choice by passing the desired string. This does not cause
+a wxEVT\_COMMAND\_CHOICE\_SELECTED event to get emitted.
\wxheading{Parameters}