]> git.saurik.com Git - wxWidgets.git/blame - docs/latex/wx/listbox.tex
fixed duplicate inclusion of jpeg source
[wxWidgets.git] / docs / latex / wx / listbox.tex
CommitLineData
a660d684
KB
1\section{\class{wxListBox}}\label{wxlistbox}
2
3A listbox is used to select one or more of a list of strings. The
4strings are displayed in a scrolling box, with the selected string(s)
5marked in reverse video. A listbox can be single selection (if an item
6is selected, the previous selection is removed) or multiple selection
7(clicking an item toggles the item on or off independently of other
8selections).
9
10List box elements are numbered from zero.
11
12A listbox callback gets an event wxEVT\_COMMAND\_LISTBOX\_SELECT for single clicks, and
debe6624 13wxEVT\_COMMAND\_LISTBOX\_DOUBLE\_CLICKED for double clicks.
a660d684
KB
14
15\wxheading{Derived from}
16
17\helpref{wxControl}{wxcontrol}\\
18\helpref{wxWindow}{wxwindow}\\
19\helpref{wxEvtHandler}{wxevthandler}\\
20\helpref{wxObject}{wxobject}
21
954b8ae6
JS
22\wxheading{Include files}
23
24<wx/listbox.h>
25
a660d684
KB
26\wxheading{Window styles}
27
28\twocolwidtha{5cm}%
29\begin{twocollist}\itemsep=0pt
30\twocolitem{\windowstyle{wxLB\_SINGLE}}{Single-selection list.}
31\twocolitem{\windowstyle{wxLB\_MULTIPLE}}{Multiple-selection list: the user can toggle multiple
32items on and off.}
33\twocolitem{\windowstyle{wxLB\_EXTENDED}}{Extended-selection list: the user can
34select multiple items using the SHIFT key and the mouse or special key combinations.}
35\twocolitem{\windowstyle{wxLB\_HSCROLL}}{Create horizontal scrollbar if contents are too wide (Windows only).}
36\twocolitem{\windowstyle{wxLB\_ALWAYS\_SB}}{Always show a vertical scrollbar.}
37\twocolitem{\windowstyle{wxLB\_NEEDED\_SB}}{Only create a vertical scrollbar if needed.}
38\twocolitem{\windowstyle{wxLB\_SORT}}{The listbox contents are sorted in alphabetical order.}
39\end{twocollist}
40
41See also \helpref{window styles overview}{windowstyles}.
42
5de76427
JS
43\wxheading{Event handling}
44
45\twocolwidtha{7cm}
46\begin{twocollist}\itemsep=0pt
47\twocolitem{{\bf EVT\_LISTBOX(id, func)}}{Process a wxEVT\_COMMAND\_LISTBOX\_SELECTED event,
48when an item on the list is selected.}
def172b2 49\twocolitem{{\bf EVT\_LISTBOX\_DCLICK(id, func)}}{Process a wxEVT\_COMMAND\_LISTBOX\_DOUBLECLICKED event,
5de76427
JS
50when the listbox is doubleclicked.}
51\end{twocollist}
52
a660d684
KB
53\wxheading{See also}
54
5de76427
JS
55\helpref{wxChoice}{wxchoice}, \helpref{wxComboBox}{wxcombobox}, \helpref{wxListCtrl}{wxlistctrl},
56\rtfsp\helpref{wxCommandEvent}{wxcommandevent}
a660d684
KB
57
58\latexignore{\rtfignore{\wxheading{Members}}}
59
60\membersection{wxListBox::wxListBox}\label{wxlistboxconstr}
61
62\func{}{wxListBox}{\void}
63
64Default constructor.
65
eaaa6a06 66\func{}{wxListBox}{\param{wxWindow*}{ parent}, \param{wxWindowID}{ id},\rtfsp
a660d684 67\param{const wxPoint\&}{ pos = wxDefaultPosition}, \param{const wxSize\&}{ size = wxDefaultSize},\rtfsp
eaaa6a06
JS
68\param{int}{ n}, \param{const wxString }{choices[] = NULL},\rtfsp
69\param{long}{ style = 0}, \param{const wxValidator\& }{validator = wxDefaultValidator}, \param{const wxString\& }{name = ``listBox"}}
a660d684
KB
70
71Constructor, creating and showing a list box.
72
73\wxheading{Parameters}
74
75\docparam{parent}{Parent window. Must not be NULL.}
76
77\docparam{id}{Window identifier. A value of -1 indicates a default value.}
78
79\docparam{pos}{Window position.}
80
81\docparam{size}{Window size. If the default size (-1, -1) is specified then the window is sized
82appropriately.}
83
84\docparam{n}{Number of strings with which to initialise the control.}
85
86\docparam{choices}{An array of strings with which to initialise the control.}
87
88\docparam{style}{Window style. See \helpref{wxListBox}{wxlistbox}.}
89
90\docparam{validator}{Window validator.}
91
92\docparam{name}{Window name.}
93
94\wxheading{See also}
95
96\helpref{wxListBox::Create}{wxlistboxcreate}, \helpref{wxValidator}{wxvalidator}
97
06d20283
RD
98\pythonnote{The wxListBox constructor in wxPython reduces the \tt{n}
99and \tt{choices} arguments are to a single argument, which is
100a list of strings.}
101
102
103
a660d684
KB
104\membersection{wxListBox::\destruct{wxListBox}}
105
106\func{void}{\destruct{wxListBox}}{\void}
107
108Destructor, destroying the list box.
109
110\membersection{wxListBox::Append}\label{wxlistboxappend}
111
112\func{void}{Append}{\param{const wxString\& }{ item}}
113
114Adds the item to the end of the list box.
115
116\func{void}{Append}{\param{const wxString\& }{ item}, \param{char* }{clientData}}
117
118Adds the item to the end of the list box, associating the given data
119with the item.
120
121\wxheading{Parameters}
122
123\docparam{item}{String to add.}
124
125\docparam{clientData}{Client data to associate with the item.}
126
127\membersection{wxListBox::Clear}\label{wxlistboxclear}
128
129\func{void}{Clear}{\void}
130
131Clears all strings from the list box.
132
133\membersection{wxListBox::Create}\label{wxlistboxcreate}
134
eaaa6a06 135\func{bool}{Create}{\param{wxWindow*}{ parent}, \param{wxWindowID}{ id},\rtfsp
a660d684 136\param{const wxPoint\&}{ pos = wxDefaultPosition}, \param{const wxSize\&}{ size = wxDefaultSize},\rtfsp
eaaa6a06
JS
137\param{int}{ n}, \param{const wxString }{choices[] = NULL},\rtfsp
138\param{long}{ style = 0}, \param{const wxValidator\& }{validator = wxDefaultValidator}, \param{const wxString\& }{name = ``listBox"}}
a660d684
KB
139
140Creates the listbox for two-step construction. See \helpref{wxListBox::wxListBox}{wxlistboxconstr}\rtfsp
141for further details.
142
143\membersection{wxListBox::Delete}\label{wxlistboxdelete}
144
145\func{void}{Delete}{\param{int}{ n}}
146
147Deletes an item from the listbox.
148
149\wxheading{Parameters}
150
151\docparam{n}{The zero-based item index.}
152
153\membersection{wxListBox::Deselect}\label{wxlistboxdeselect}
154
155\func{void}{Deselect}{\param{int}{ n}}
156
157Deselects an item in the list box.
158
159\wxheading{Parameters}
160
161\docparam{n}{The zero-based item to deselect.}
162
163\wxheading{Remarks}
164
165This applies to multiple selection listboxes only.
166
167\membersection{wxListBox::FindString}\label{wxlistboxfindstring}
168
169\func{int}{FindString}{\param{const wxString\& }{string}}
170
171Finds an item matching the given string.
172
173\wxheading{Parameters}
174
175\docparam{string}{String to find.}
176
177\wxheading{Return value}
178
179The zero-based position of the item, or -1 if the string was not found.
180
181\membersection{wxListBox::GetClientData}\label{wxlistboxgetclientdata}
182
eaaa6a06 183\constfunc{char*}{GetClientData}{\param{int}{ n}}
a660d684
KB
184
185Returns a pointer to the client data associated with the given item (if any).
186
187\wxheading{Parameters}
188
189\docparam{n}{The zero-based position of the item.}
190
191\wxheading{Return value}
192
193A pointer to the client data, or NULL if not present.
194
195\membersection{wxListBox::GetSelection}\label{wxlistboxgetselection}
196
197\constfunc{int}{GetSelection}{\void}
198
199Gets the position of the selected item.
200
201\wxheading{Return value}
202
203The position of the current selection.
204
205\wxheading{Remarks}
206
207Applicable to single selection list boxes only.
208
209\wxheading{See also}
210
211\helpref{wxListBox::SetSelection}{wxlistboxsetselection},\rtfsp
212\helpref{wxListBox::GetStringSelection}{wxlistboxgetstringselection},\rtfsp
213\helpref{wxListBox::GetSelections}{wxlistboxgetselections}
214
215\membersection{wxListBox::GetSelections}\label{wxlistboxgetselections}
216
217\constfunc{int}{GetSelections}{\param{int **}{selections}}
218
219Gets an array containing the positions of the selected strings.
220
221\wxheading{Parameters}
222
223\docparam{selections}{A pointer to an integer array, which will be allocated by the function if
224selects are present. Do not deallocate the returned array - it will be deallocated by the listbox.}
225
226\wxheading{Return value}
227
228The number of selections.
229
230\wxheading{Remarks}
231
232Use this with a multiple selection listbox.
233
234\wxheading{See also}
235
236\helpref{wxListBox::GetSelection}{wxlistboxgetselection},\rtfsp
237\helpref{wxListBox::GetStringSelection}{wxlistboxgetstringselection},\rtfsp
238\helpref{wxListBox::SetSelection}{wxlistboxsetselection}
239
f899db6d
RD
240\pythonnote{The wxPython version of this method takes no parameters
241and returns a tuple of the selected items.}
242
a660d684
KB
243\membersection{wxListBox::GetString}\label{wxlistboxgetstring}
244
eaaa6a06 245\constfunc{wxString}{GetString}{\param{int}{ n}}
a660d684
KB
246
247Returns the string at the given position.
248
249\wxheading{Parameters}
250
251\docparam{n}{The zero-based position.}
252
253\wxheading{Return value}
254
255The string, or an empty string if the position was invalid.
256
257\membersection{wxListBox::GetStringSelection}\label{wxlistboxgetstringselection}
258
259\constfunc{wxString}{GetStringSelection}{\void}
260
261Gets the selected string - for single selection list boxes only. This
262must be copied by the calling program if long term use is to be made of
263it.
264
265\wxheading{See also}
266
267\helpref{wxListBox::GetSelection}{wxlistboxgetselection},\rtfsp
268\helpref{wxListBox::GetSelections}{wxlistboxgetselections},\rtfsp
269\helpref{wxListBox::SetSelection}{wxlistboxsetselection}
270
81108288
VZ
271\membersection{wxListBox::InsertItems}\label{wxlistboxinsertitems}
272
273\func{void}{InsertItems}{\param{int}{ nItems}, \param{const wxString}{ items}, \param{int}{ pos}}
274
275Insert the given number of strings before the specified position.
276
277\wxheading{Parameters}
278
279\docparam{nItems}{Number of items in the array {\it items}}
280
281\docparam{items}{Labels of items to be inserted}
282
283\docparam{pos}{Position before which to insert the items: for example, if {\it pos} is 0 the items
284will be inserted in the beginning of the listbox}
285
a660d684
KB
286\membersection{wxListBox::Number}\label{wxlistboxnumber}
287
288\constfunc{int}{Number}{\void}
289
290Returns the number of items in the listbox.
291
292\membersection{wxListBox::Selected}\label{wxlistboxselected}
293
eaaa6a06 294\constfunc{bool}{Selected}{\param{int}{ n}}
a660d684
KB
295
296Determines whether an item is selected.
297
298\wxheading{Parameters}
299
300\docparam{n}{The zero-based item index.}
301
302\wxheading{Return value}
303
304TRUE if the given item is selected, FALSE otherwise.
305
306\membersection{wxListBox::Set}\label{wxlistboxset}
307
eaaa6a06 308\func{void}{Set}{\param{int}{ n}, \param{const wxString*}{ choices}}
a660d684
KB
309
310Clears the list box and adds the given strings.
311
312\wxheading{Parameters}
313
314\docparam{n}{The number of strings to set.}
315
316\docparam{choices}{An array of strings to set.}
317
318\wxheading{Remarks}
319
320Deallocate the array from the calling program
321after this function has been called.
322
323\membersection{wxListBox::SetClientData}\label{wxlistboxsetclientdata}
324
eaaa6a06 325\func{void}{SetClientData}{\param{int}{ n}, \param{char* }{data}}
a660d684
KB
326
327Associates the given client data pointer with the given item.
328
329\wxheading{Parameters}
330
331\docparam{n}{The zero-based item index.}
332
333\docparam{data}{The client data to associate with the item.}
334
335\membersection{wxListBox::SetFirstItem}\label{wxlistboxsetfirstitem}
336
337\func{void}{SetFirstItem}{\param{int}{ n}}
338
339\func{void}{SetFirstItem}{\param{const wxString\& }{string}}
340
953704c1 341Set the specified item to be the first visible item. Windows only.
a660d684
KB
342
343\wxheading{Parameters}
344
345\docparam{n}{The zero-based item index.}
346
347\docparam{string}{The string that should be visible.}
348
349\membersection{wxListBox::SetSelection}\label{wxlistboxsetselection}
350
eaaa6a06 351\func{void}{SetSelection}{\param{int}{ n}, \param{const bool }{select = TRUE}}
a660d684 352
953704c1
RR
353Selects or deselects the given item. This does not cause a
354wxEVT\_COMMAND\_LISTBOX\_SELECT event to get emitted.
a660d684
KB
355
356\wxheading{Parameters}
357
358\docparam{n}{The zero-based item index.}
359
360\docparam{select}{If TRUE, will select the item. If FALSE, will deselect it.}
361
362\membersection{wxListBox::SetString}\label{wxlistboxsetstring}
363
eaaa6a06 364\func{void}{SetString}{\param{int}{ n}, \param{const wxString\& }{ string}}
a660d684
KB
365
366Sets the string value of an item.
367
368\wxheading{Parameters}
369
370\docparam{n}{The zero-based item index.}
371
372\docparam{string}{The string to set.}
373
374\membersection{wxListBox::SetStringSelection}\label{wxlistboxsetstringselection}
375
376\func{void}{SetStringSelection}{\param{const wxString\& }{ string}, \param{const bool}{ select = TRUE}}
377
953704c1
RR
378Sets the current selection. This does not cause a
379wxEVT\_COMMAND\_LISTBOX\_SELECT event to get emitted.
a660d684
KB
380
381\wxheading{Parameters}
382
383\docparam{string}{The item to select.}
384
385\docparam{select}{If TRUE, will select the item. If FALSE, will deselect it.}
386