\section{\class{wxChoice}}\label{wxchoice} A choice item is used to select one of a list of strings. Unlike a listbox, only the selection is visible until the user pulls down the menu of choices. \wxheading{Derived from} \helpref{wxControlWithItems}{wxcontrolwithitems}\\ \helpref{wxControl}{wxcontrol}\\ \helpref{wxWindow}{wxwindow}\\ \helpref{wxEvtHandler}{wxevthandler}\\ \helpref{wxObject}{wxobject} \wxheading{Include files} \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{wxComboBox}{wxcombobox}, \rtfsp\helpref{wxCommandEvent}{wxcommandevent} \latexignore{\rtfignore{\wxheading{Members}}} \membersection{wxChoice::wxChoice}\label{wxchoicector} \func{}{wxChoice}{\void} Default constructor. \func{}{wxChoice}{\param{wxWindow *}{parent}, \param{wxWindowID}{ id},\rtfsp \param{const wxPoint\& }{pos}, \param{const wxSize\&}{ size},\rtfsp \param{int}{ n}, \param{const wxString }{choices[]},\rtfsp \param{long}{ style = 0}, \param{const wxValidator\& }{validator = wxDefaultValidator}, \param{const wxString\& }{name = ``choice"}} \func{}{wxChoice}{\param{wxWindow *}{parent}, \param{wxWindowID}{ id},\rtfsp \param{const wxPoint\& }{pos}, \param{const wxSize\&}{ size},\rtfsp \param{const wxArrayString\& }{choices},\rtfsp \param{long}{ style = 0}, \param{const wxValidator\& }{validator = wxDefaultValidator}, \param{const wxString\& }{name = ``choice"}} Constructor, creating and showing a choice. \wxheading{Parameters} \docparam{parent}{Parent window. Must not be NULL.} \docparam{id}{Window identifier. A value of -1 indicates a default value.} \docparam{pos}{Window position.} \docparam{size}{Window size. If the default size (-1, -1) is specified then the choice is sized appropriately.} \docparam{n}{Number of strings with which to initialise the choice control.} \docparam{choices}{An array of strings with which to initialise the choice control.} \docparam{style}{Window style. See \helpref{wxChoice}{wxchoice}.} \docparam{validator}{Window validator.} \docparam{name}{Window name.} \wxheading{See also} \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}}\label{wxchoicedtor} \func{}{\destruct{wxChoice}}{\void} Destructor, destroying the choice item. \membersection{wxChoice::Create}\label{wxchoicecreate} \func{bool}{Create}{\param{wxWindow *}{parent}, \param{wxWindowID}{ id},\rtfsp \param{const wxPoint\& }{pos}, \param{const wxSize\&}{ size},\rtfsp \param{int}{ n}, \param{const wxString }{choices[]},\rtfsp \param{long}{ style = 0}, \param{const wxValidator\& }{validator = wxDefaultValidator},\rtfsp \param{const wxString\& }{name = ``choice"}} \func{bool}{Create}{\param{wxWindow *}{parent}, \param{wxWindowID}{ id},\rtfsp \param{const wxPoint\& }{pos}, \param{const wxSize\&}{ size},\rtfsp \param{const wxArrayString\& }{choices},\rtfsp \param{long}{ style = 0}, \param{const wxValidator\& }{validator = wxDefaultValidator},\rtfsp \param{const wxString\& }{name = ``choice"}} Creates the choice for two-step construction. See \helpref{wxChoice::wxChoice}{wxchoicector}. \membersection{wxChoice::Delete}\label{wxchoicedelete} \func{void}{Delete}{\param{int }{n}} Deletes the item with the given index from the control. \wxheading{Parameters} \docparam{n}{The item to delete.} \membersection{wxChoice::GetColumns}\label{wxchoicegetcolumns} \constfunc{int}{GetColumns}{\void} Gets the number of columns in this choice item. \wxheading{Remarks} This is implemented for Motif only and always returns $1$ for the other platforms. \membersection{wxChoice::SetColumns}\label{wxchoicesetcolumns} \func{void}{SetColumns}{\param{int}{ n = 1}} Sets the number of columns in this choice item. \wxheading{Parameters} \docparam{n}{Number of columns.} \wxheading{Remarks} This is implemented for Motif only and doesn't do anything under other platforms.