]> git.saurik.com Git - wxWidgets.git/blame - docs/latex/wx/combobox.tex
More docs.
[wxWidgets.git] / docs / latex / wx / combobox.tex
CommitLineData
a660d684
KB
1\section{\class{wxComboBox}}\label{wxcombobox}
2
3A combobox is like a combination of an edit control and a listbox. It can be
4displayed as static list with editable or read-only text field; or a drop-down list with
5text field; or a drop-down list without a text field.
6
7A combobox permits a single selection only. Combobox items are numbered from zero.
8
fb5f907b
RR
9If you need a customized combobox, have a look at \helpref{wxComboCtrl}{wxcomboctrl},
10\helpref{wxOwnerDrawnComboBox}{wxownerdrawncombobox}, \helpref{wxComboPopup}{wxcombopopup}
11and the ready-to-use \helpref{wxBitmapComboBox}{wxbitmapcombobox}.
12
a660d684
KB
13\wxheading{Derived from}
14
bed5584e 15\helpref{wxControlWithItems}{wxcontrolwithitems}\\
a660d684
KB
16\helpref{wxControl}{wxcontrol}\\
17\helpref{wxWindow}{wxwindow}\\
18\helpref{wxEvtHandler}{wxevthandler}\\
19\helpref{wxObject}{wxobject}
20
954b8ae6
JS
21\wxheading{Include files}
22
f6bcfd97 23<wx/combobox.h>
954b8ae6 24
a660d684
KB
25\wxheading{Window styles}
26
27\begin{twocollist}\itemsep=0pt
9c884972 28\twocolitem{\windowstyle{wxCB\_SIMPLE}}{Creates a combobox with a permanently displayed list. Windows only. }
a660d684 29\twocolitem{\windowstyle{wxCB\_DROPDOWN}}{Creates a combobox with a drop-down list.}
3ca6a5f0
BP
30\twocolitem{\windowstyle{wxCB\_READONLY}}{Same as wxCB\_DROPDOWN but only the
31strings specified as the combobox choices can be selected, it is impossible to
32select (even from a program) a string which is not in the choices list.}
a660d684 33\twocolitem{\windowstyle{wxCB\_SORT}}{Sorts the entries in the list alphabetically.}
591087ed 34\twocolitem{\windowstyle{wxTE\_PROCESS\_ENTER}}{The control will generate
5090e3ad
JS
35the event wxEVT\_COMMAND\_TEXT\_ENTER (otherwise pressing Enter key
36is either processed internally by the control or used for navigation between
37dialog controls). Windows only.}
a660d684
KB
38\end{twocollist}
39
40See also \helpref{window styles overview}{windowstyles}.
41
5de76427
JS
42\wxheading{Event handling}
43
44\twocolwidtha{7cm}
45\begin{twocollist}\itemsep=0pt
46\twocolitem{{\bf EVT\_COMBOBOX(id, func)}}{Process a wxEVT\_COMMAND\_COMBOBOX\_SELECTED event,
7d8268a1 47when an item on the list is selected. Note that calling
13bcc348 48\helpref{GetValue}{wxcomboboxgetvalue} returns the new value of selection.}
5de76427
JS
49\twocolitem{{\bf EVT\_TEXT(id, func)}}{Process a wxEVT\_COMMAND\_TEXT\_UPDATED event,
50when the combobox text changes.}
3980000c
RR
51\twocolitem{{\bf EVT\_TEXT\_ENTER(id, func)}}{Process a wxEVT\_COMMAND\_TEXT\_ENTER event,
52when <RETURN> is pressed in the combobox.}
5de76427
JS
53\end{twocollist}
54
a660d684
KB
55\wxheading{See also}
56
5de76427
JS
57\helpref{wxListBox}{wxlistbox}, \helpref{wxTextCtrl}{wxtextctrl}, \helpref{wxChoice}{wxchoice},
58\rtfsp\helpref{wxCommandEvent}{wxcommandevent}
a660d684
KB
59
60\latexignore{\rtfignore{\wxheading{Members}}}
61
3782aa47 62
f510b7b2 63\membersection{wxComboBox::wxComboBox}\label{wxcomboboxctor}
a660d684
KB
64
65\func{}{wxComboBox}{\void}
66
67Default constructor.
68
eaaa6a06 69\func{}{wxComboBox}{\param{wxWindow*}{ parent}, \param{wxWindowID}{ id},\rtfsp
a660d684 70\param{const wxString\& }{value = ``"}, \param{const wxPoint\&}{ pos = wxDefaultPosition}, \param{const wxSize\&}{ size = wxDefaultSize},\rtfsp
89971c77 71\param{int}{ n = 0}, \param{const wxString }{choices[] = NULL},\rtfsp
eaaa6a06 72\param{long}{ style = 0}, \param{const wxValidator\& }{validator = wxDefaultValidator}, \param{const wxString\& }{name = ``comboBox"}}
a660d684 73
56b88f12
MB
74\func{}{wxComboBox}{\param{wxWindow*}{ parent}, \param{wxWindowID}{ id},\rtfsp
75\param{const wxString\& }{value}, \param{const wxPoint\&}{ pos}, \param{const wxSize\&}{ size},\rtfsp
76\param{const wxArrayString\& }{choices},\rtfsp
77\param{long}{ style = 0}, \param{const wxValidator\& }{validator = wxDefaultValidator}, \param{const wxString\& }{name = ``comboBox"}}
78
a660d684
KB
79Constructor, creating and showing a combobox.
80
81\wxheading{Parameters}
82
83\docparam{parent}{Parent window. Must not be NULL.}
84
85\docparam{id}{Window identifier. A value of -1 indicates a default value.}
86
2b5f62a0
VZ
87\docparam{value}{Initial selection string. An empty string indicates no selection.}
88
a660d684
KB
89\docparam{pos}{Window position.}
90
91\docparam{size}{Window size. If the default size (-1, -1) is specified then the window is sized
92appropriately.}
93
94\docparam{n}{Number of strings with which to initialise the control.}
95
96\docparam{choices}{An array of strings with which to initialise the control.}
97
98\docparam{style}{Window style. See \helpref{wxComboBox}{wxcombobox}.}
99
100\docparam{validator}{Window validator.}
101
102\docparam{name}{Window name.}
103
104\wxheading{See also}
105
106\helpref{wxComboBox::Create}{wxcomboboxcreate}, \helpref{wxValidator}{wxvalidator}
107
c9110876
VS
108\pythonnote{The wxComboBox constructor in wxPython reduces the {\tt n}
109and {\tt choices} arguments are to a single argument, which is
06d20283
RD
110a list of strings.}
111
5873607e
VZ
112\perlnote{In wxPerl there is just an array reference in place of {\tt n}
113and {\tt choices}.}
06d20283 114
3782aa47 115
f510b7b2 116\membersection{wxComboBox::\destruct{wxComboBox}}\label{wxcomboboxdtor}
a660d684
KB
117
118\func{}{\destruct{wxComboBox}}{\void}
119
120Destructor, destroying the combobox.
121
3782aa47 122
a660d684
KB
123\membersection{wxComboBox::Create}\label{wxcomboboxcreate}
124
eaaa6a06 125\func{bool}{Create}{\param{wxWindow*}{ parent}, \param{wxWindowID}{ id},\rtfsp
a660d684 126\param{const wxString\& }{value = ``"}, \param{const wxPoint\&}{ pos = wxDefaultPosition}, \param{const wxSize\&}{ size = wxDefaultSize},\rtfsp
eaaa6a06
JS
127\param{int}{ n}, \param{const wxString }{choices[]},\rtfsp
128\param{long}{ style = 0}, \param{const wxValidator\& }{validator = wxDefaultValidator}, \param{const wxString\& }{name = ``comboBox"}}
a660d684 129
56b88f12
MB
130\func{bool}{Create}{\param{wxWindow*}{ parent}, \param{wxWindowID}{ id},\rtfsp
131\param{const wxString\& }{value}, \param{const wxPoint\&}{ pos}, \param{const wxSize\&}{ size},\rtfsp
132\param{const wxArrayString\& }{choices},\rtfsp
133\param{long}{ style = 0}, \param{const wxValidator\& }{validator = wxDefaultValidator}, \param{const wxString\& }{name = ``comboBox"}}
134
a660d684 135Creates the combobox for two-step construction. Derived classes
f510b7b2 136should call or replace this function. See \helpref{wxComboBox::wxComboBox}{wxcomboboxctor}\rtfsp
a660d684
KB
137for further details.
138
3782aa47 139
150e31d2
JS
140\membersection{wxComboBox::CanCopy}\label{wxcomboboxcancopy}
141
142\constfunc{bool}{CanCopy}{\void}
143
144Returns true if the combobox is editable and there is a text selection to copy to the clipboard.
145Only available on Windows.
146
3782aa47 147
150e31d2
JS
148\membersection{wxComboBox::CanCut}\label{wxcomboboxcancut}
149
150\constfunc{bool}{CanCut}{\void}
151
152Returns true if the combobox is editable and there is a text selection to copy to the clipboard.
153Only available on Windows.
154
3782aa47 155
150e31d2
JS
156\membersection{wxComboBox::CanPaste}\label{wxcomboboxcanpaste}
157
158\constfunc{bool}{CanPaste}{\void}
159
160Returns true if the combobox is editable and there is text on the clipboard that can be pasted into the
161text field. Only available on Windows.
162
3782aa47 163
150e31d2
JS
164\membersection{wxComboBox::CanRedo}\label{wxcomboboxcanredo}
165
166\constfunc{bool}{CanRedo}{\void}
167
168Returns true if the combobox is editable and the last undo can be redone.
169Only available on Windows.
7d8268a1 170
3782aa47 171
150e31d2
JS
172\membersection{wxComboBox::CanUndo}\label{wxcomboboxcanundo}
173
174\constfunc{bool}{CanUndo}{\void}
175
176Returns true if the combobox is editable and the last edit can be undone.
177Only available on Windows.
7d8268a1 178
3782aa47 179
a660d684
KB
180\membersection{wxComboBox::Copy}\label{wxcomboboxcopy}
181
182\func{void}{Copy}{\void}
183
184Copies the selected text to the clipboard.
185
3782aa47 186
a660d684
KB
187\membersection{wxComboBox::Cut}\label{wxcomboboxcut}
188
189\func{void}{Cut}{\void}
190
191Copies the selected text to the clipboard and removes the selection.
192
3782aa47 193
a660d684
KB
194\membersection{wxComboBox::GetInsertionPoint}\label{wxcomboboxgetinsertionpoint}
195
196\constfunc{long}{GetInsertionPoint}{\void}
197
198Returns the insertion point for the combobox's text field.
199
3782aa47
VZ
200\textbf{Note:} Under wxMSW, this function always returns $0$ if the combobox
201doesn't have the focus.
202
203
a660d684
KB
204\membersection{wxComboBox::GetLastPosition}\label{wxcomboboxgetlastposition}
205
7d8268a1 206\constfunc{virtual wxTextPos}{GetLastPosition}{\void}
a660d684
KB
207
208Returns the last position in the combobox text field.
209
3782aa47 210
a660d684
KB
211\membersection{wxComboBox::GetValue}\label{wxcomboboxgetvalue}
212
213\constfunc{wxString}{GetValue}{\void}
214
215Returns the current value in the combobox text field.
216
3782aa47 217
a660d684
KB
218\membersection{wxComboBox::Paste}\label{wxcomboboxpaste}
219
220\func{void}{Paste}{\void}
221
222Pastes text from the clipboard to the text field.
223
3782aa47 224
150e31d2
JS
225\membersection{wxComboBox::Redo}\label{wxcomboboxredo}
226
227\func{void}{Redo}{\void}
228
229Redoes the last undo in the text field. Windows only.
230
3782aa47 231
a660d684
KB
232\membersection{wxComboBox::Replace}\label{wxcomboboxreplace}
233
eaaa6a06 234\func{void}{Replace}{\param{long}{ from}, \param{long}{ to}, \param{const wxString\& }{text}}
a660d684
KB
235
236Replaces the text between two positions with the given text, in the combobox text field.
237
238\wxheading{Parameters}
239
240\docparam{from}{The first position.}
241
242\docparam{to}{The second position.}
243
244\docparam{text}{The text to insert.}
245
3782aa47 246
a660d684
KB
247\membersection{wxComboBox::Remove}\label{wxcomboboxremove}
248
eaaa6a06 249\func{void}{Remove}{\param{long}{ from}, \param{long}{ to}}
a660d684
KB
250
251Removes the text between the two positions in the combobox text field.
252
253\wxheading{Parameters}
254
255\docparam{from}{The first position.}
256
257\docparam{to}{The last position.}
258
3782aa47 259
a660d684
KB
260\membersection{wxComboBox::SetInsertionPoint}\label{wxcomboboxsetinsertionpoint}
261
eaaa6a06 262\func{void}{SetInsertionPoint}{\param{long}{ pos}}
a660d684
KB
263
264Sets the insertion point in the combobox text field.
265
266\wxheading{Parameters}
267
268\docparam{pos}{The new insertion point.}
269
3782aa47 270
a660d684
KB
271\membersection{wxComboBox::SetInsertionPointEnd}\label{wxcomboboxsetinsertionpointend}
272
273\func{void}{SetInsertionPointEnd}{\void}
274
275Sets the insertion point at the end of the combobox text field.
276
3782aa47 277
a660d684
KB
278\membersection{wxComboBox::SetSelection}\label{wxcomboboxsetselection}
279
eaaa6a06 280\func{void}{SetSelection}{\param{long}{ from}, \param{long}{ to}}
a660d684
KB
281
282Selects the text between the two positions, in the combobox text field.
283
284\wxheading{Parameters}
285
a660d684
KB
286\docparam{from}{The first position.}
287
288\docparam{to}{The second position.}
289
bed5584e 290\pythonnote{This method is called {\tt SetMark} in wxPython, {\tt SetSelection}
7d8268a1 291name is kept for
bed5584e 292\helpref{wxControlWithItems::SetSelection}{wxcontrolwithitemssetselection}.}
532da0d1 293
3782aa47 294
a660d684
KB
295\membersection{wxComboBox::SetValue}\label{wxcomboboxsetvalue}
296
297\func{void}{SetValue}{\param{const wxString\& }{text}}
298
299Sets the text for the combobox text field.
300
3ca6a5f0
BP
301{\bf NB:} For a combobox with {\tt wxCB\_READONLY} style the string must be in
302the combobox choices list, otherwise the call to SetValue() is ignored.
303
a660d684
KB
304\wxheading{Parameters}
305
306\docparam{text}{The text to set.}
307
3782aa47 308
150e31d2
JS
309\membersection{wxComboBox::Undo}\label{wxcomboboxundo}
310
311\func{void}{Undo}{\void}
312
313Undoes the last edit in the text field. Windows only.
a660d684 314