1 \section{\class{wxComboBox
}}\label{wxcombobox
}
3 A combobox is like a combination of an edit control and a listbox. It can be
4 displayed as static list with editable or read-only text field; or a drop-down list with
5 text field; or a drop-down list without a text field.
7 A combobox permits a single selection only. Combobox items are numbered from zero.
9 \wxheading{Derived from
}
11 \helpref{wxChoice
}{wxchoice
}\\
12 \helpref{wxControl
}{wxcontrol
}\\
13 \helpref{wxWindow
}{wxwindow
}\\
14 \helpref{wxEvtHandler
}{wxevthandler
}\\
15 \helpref{wxObject
}{wxobject
}
17 \wxheading{Include files
}
21 \wxheading{Window styles
}
23 \begin{twocollist
}\itemsep=
0pt
24 \twocolitem{\windowstyle{wxCB
\_SIMPLE}}{Creates a combobox with a permanently displayed list. Windows only.
}
25 \twocolitem{\windowstyle{wxCB
\_DROPDOWN}}{Creates a combobox with a drop-down list.
}
26 \twocolitem{\windowstyle{wxCB
\_READONLY}}{Creates a combo box consisting of a drop-down list and static text item
27 displaying the current selection.
}
28 \twocolitem{\windowstyle{wxCB
\_SORT}}{Sorts the entries in the list alphabetically.
}
31 See also
\helpref{window styles overview
}{windowstyles
}.
33 \wxheading{Event handling
}
36 \begin{twocollist
}\itemsep=
0pt
37 \twocolitem{{\bf EVT
\_COMBOBOX(id, func)
}}{Process a wxEVT
\_COMMAND\_COMBOBOX\_SELECTED event,
38 when an item on the list is selected.
}
39 \twocolitem{{\bf EVT
\_TEXT(id, func)
}}{Process a wxEVT
\_COMMAND\_TEXT\_UPDATED event,
40 when the combobox text changes.
}
45 \helpref{wxListBox
}{wxlistbox
},
\helpref{wxTextCtrl
}{wxtextctrl
},
\helpref{wxChoice
}{wxchoice
},
46 \rtfsp\helpref{wxCommandEvent
}{wxcommandevent
}
48 \latexignore{\rtfignore{\wxheading{Members
}}}
50 \membersection{wxComboBox::wxComboBox
}\label{wxcomboboxconstr
}
52 \func{}{wxComboBox
}{\void}
56 \func{}{wxComboBox
}{\param{wxWindow*
}{ parent
},
\param{wxWindowID
}{ id
},
\rtfsp
57 \param{const wxString\&
}{value = ``"
},
\param{const wxPoint\&
}{ pos = wxDefaultPosition
},
\param{const wxSize\&
}{ size = wxDefaultSize
},
\rtfsp
58 \param{int
}{ n
},
\param{const wxString
}{choices
[]},
\rtfsp
59 \param{long
}{ style =
0},
\param{const wxValidator\&
}{validator = wxDefaultValidator
},
\param{const wxString\&
}{name = ``comboBox"
}}
61 Constructor, creating and showing a combobox.
63 \wxheading{Parameters
}
65 \docparam{parent
}{Parent window. Must not be NULL.
}
67 \docparam{id
}{Window identifier. A value of -
1 indicates a default value.
}
69 \docparam{pos
}{Window position.
}
71 \docparam{size
}{Window size. If the default size (-
1, -
1) is specified then the window is sized
74 \docparam{n
}{Number of strings with which to initialise the control.
}
76 \docparam{choices
}{An array of strings with which to initialise the control.
}
78 \docparam{style
}{Window style. See
\helpref{wxComboBox
}{wxcombobox
}.
}
80 \docparam{validator
}{Window validator.
}
82 \docparam{name
}{Window name.
}
86 \helpref{wxComboBox::Create
}{wxcomboboxcreate
},
\helpref{wxValidator
}{wxvalidator
}
88 \pythonnote{The wxComboBox constructor in wxPython reduces the
{\tt n
}
89 and
{\tt choices
} arguments are to a single argument, which is
93 \membersection{wxComboBox::
\destruct{wxComboBox
}}
95 \func{}{\destruct{wxComboBox
}}{\void}
97 Destructor, destroying the combobox.
99 \membersection{wxComboBox::Append
}\label{wxcomboboxappend
}
101 \func{void
}{Append
}{\param{const wxString\&
}{item
}}
103 Adds the item to the end of the combobox.
105 \func{void
}{Append
}{\param{const wxString\&
}{ item
},
\param{void*
}{clientData
}}
107 Adds the item to the end of the combobox, associating the given data
110 \wxheading{Parameters
}
112 \docparam{item
}{The string to add.
}
114 \docparam{clientData
}{Client data to associate with the item.
}
116 \membersection{wxComboBox::Clear
}\label{wxcomboboxclear
}
118 \func{void
}{Clear
}{\void}
120 Clears all strings from the combobox.
122 \membersection{wxComboBox::Create
}\label{wxcomboboxcreate
}
124 \func{bool
}{Create
}{\param{wxWindow*
}{ parent
},
\param{wxWindowID
}{ id
},
\rtfsp
125 \param{const wxString\&
}{value = ``"
},
\param{const wxPoint\&
}{ pos = wxDefaultPosition
},
\param{const wxSize\&
}{ size = wxDefaultSize
},
\rtfsp
126 \param{int
}{ n
},
\param{const wxString
}{choices
[]},
\rtfsp
127 \param{long
}{ style =
0},
\param{const wxValidator\&
}{validator = wxDefaultValidator
},
\param{const wxString\&
}{name = ``comboBox"
}}
129 Creates the combobox for two-step construction. Derived classes
130 should call or replace this function. See
\helpref{wxComboBox::wxComboBox
}{wxcomboboxconstr
}\rtfsp
133 \membersection{wxComboBox::Copy
}\label{wxcomboboxcopy
}
135 \func{void
}{Copy
}{\void}
137 Copies the selected text to the clipboard.
139 \membersection{wxComboBox::Cut
}\label{wxcomboboxcut
}
141 \func{void
}{Cut
}{\void}
143 Copies the selected text to the clipboard and removes the selection.
145 \membersection{wxComboBox::Delete
}\label{wxcomboboxdelete
}
147 \func{void
}{Delete
}{\param{int
}{ n
}}
149 Deletes an item from the combobox.
151 \wxheading{Parameters
}
153 \docparam{n
}{The item to delete, starting from zero.
}
155 \membersection{wxComboBox::FindString
}\label{wxcomboboxfindstring
}
157 \func{int
}{FindString
}{\param{const wxString\&
}{string
}}
159 Finds a choice matching the given string.
161 \wxheading{Parameters
}
163 \docparam{string
}{The item to find.
}
165 \wxheading{Return value
}
167 The position if found, or -
1 if not found.
169 \membersection{wxComboBox::GetClientData
}\label{wxcomboboxgetclientdata
}
171 \constfunc{void*
}{GetClientData
}{\param{int
}{ n
}}
173 Returns a pointer to the client data associated with the given item (if any).
175 \wxheading{Parameters
}
177 \docparam{n
}{An item, starting from zero.
}
179 \wxheading{Return value
}
181 A pointer to the client data, or NULL if the item was not found.
183 \membersection{wxComboBox::GetInsertionPoint
}\label{wxcomboboxgetinsertionpoint
}
185 \constfunc{long
}{GetInsertionPoint
}{\void}
187 Returns the insertion point for the combobox's text field.
189 \membersection{wxComboBox::GetLastPosition
}\label{wxcomboboxgetlastposition
}
191 \constfunc{long
}{GetLastPosition
}{\void}
193 Returns the last position in the combobox text field.
195 \membersection{wxComboBox::GetSelection
}\label{wxcomboboxgetselection
}
197 \constfunc{int
}{GetSelection
}{\void}
199 Gets the position of the selected string, or -
1 if there is no selection.
201 \membersection{wxComboBox::GetString
}\label{wxcomboboxgetstring
}
203 \constfunc{wxString
}{GetString
}{\param{int
}{ n
}}
205 Returns the string at position
{\it n
}.
207 \wxheading{Parameters
}
209 \docparam{n
}{The item position, starting from zero.
}
211 \wxheading{Return value
}
213 The string if the item is found, otherwise the empty string.
215 \membersection{wxComboBox::GetStringSelection
}\label{wxcomboboxgetstringselection
}
217 \constfunc{wxString
}{GetStringSelection
}{\void}
219 Gets the selected string.
221 \membersection{wxComboBox::GetValue
}\label{wxcomboboxgetvalue
}
223 \constfunc{wxString
}{GetValue
}{\void}
225 Returns the current value in the combobox text field.
227 \membersection{wxComboBox::Number
}\label{wxcomboboxnumber
}
229 \constfunc{int
}{Number
}{\void}
231 Returns the number of items in the combobox list.
232 %TODO: make this GetNumber or GetCount?
234 \membersection{wxComboBox::Paste
}\label{wxcomboboxpaste
}
236 \func{void
}{Paste
}{\void}
238 Pastes text from the clipboard to the text field.
240 \membersection{wxComboBox::Replace
}\label{wxcomboboxreplace
}
242 \func{void
}{Replace
}{\param{long
}{ from
},
\param{long
}{ to
},
\param{const wxString\&
}{text
}}
244 Replaces the text between two positions with the given text, in the combobox text field.
246 \wxheading{Parameters
}
248 \docparam{from
}{The first position.
}
250 \docparam{to
}{The second position.
}
252 \docparam{text
}{The text to insert.
}
254 \membersection{wxComboBox::Remove
}\label{wxcomboboxremove
}
256 \func{void
}{Remove
}{\param{long
}{ from
},
\param{long
}{ to
}}
258 Removes the text between the two positions in the combobox text field.
260 \wxheading{Parameters
}
262 \docparam{from
}{The first position.
}
264 \docparam{to
}{The last position.
}
266 \membersection{wxComboBox::SetClientData
}\label{wxcomboboxsetclientdata
}
268 \func{void
}{SetClientData
}{\param{int
}{ n
},
\param{void*
}{data
}}
270 Associates the given client data pointer with the given item.
272 \wxheading{Parameters
}
274 \docparam{n
}{The zero-based item.
}
276 \docparam{data
}{The client data.
}
278 \membersection{wxComboBox::SetInsertionPoint
}\label{wxcomboboxsetinsertionpoint
}
280 \func{void
}{SetInsertionPoint
}{\param{long
}{ pos
}}
282 Sets the insertion point in the combobox text field.
284 \wxheading{Parameters
}
286 \docparam{pos
}{The new insertion point.
}
288 \membersection{wxComboBox::SetInsertionPointEnd
}\label{wxcomboboxsetinsertionpointend
}
290 \func{void
}{SetInsertionPointEnd
}{\void}
292 Sets the insertion point at the end of the combobox text field.
294 \membersection{wxComboBox::SetSelection
}\label{wxcomboboxsetselection
}
296 \func{void
}{SetSelection
}{\param{int
}{ n
}}
298 Selects the given item in the combobox list. This does not cause a
299 wxEVT
\_COMMAND\_COMBOBOX\_SELECTED event to get emitted.
301 \func{void
}{SetSelection
}{\param{long
}{ from
},
\param{long
}{ to
}}
303 Selects the text between the two positions, in the combobox text field.
305 \wxheading{Parameters
}
307 \docparam{n
}{The zero-based item to select.
}
309 \docparam{from
}{The first position.
}
311 \docparam{to
}{The second position.
}
313 \pythonnote{The second form of this method is called
{\tt SetMark
} in
316 \membersection{wxComboBox::SetValue
}\label{wxcomboboxsetvalue
}
318 \func{void
}{SetValue
}{\param{const wxString\&
}{text
}}
320 Sets the text for the combobox text field.
322 \wxheading{Parameters
}
324 \docparam{text
}{The text to set.
}