1 \section{\class{wxListBox
}}\label{wxlistbox
}
3 A listbox is used to select one or more of a list of strings. The
4 strings are displayed in a scrolling box, with the selected string(s)
5 marked in reverse video. A listbox can be single selection (if an item
6 is selected, the previous selection is removed) or multiple selection
7 (clicking an item toggles the item on or off independently of other
10 List box elements are numbered from zero.
12 A listbox callback gets an event wxEVT
\_COMMAND\_LISTBOX\_SELECT for single clicks, and
13 wxEVT
\_COMMAND\_LISTBOX\_DOUBLE\_CLICKED for double clicks.
15 \wxheading{Derived from
}
17 \helpref{wxControl
}{wxcontrol
}\\
18 \helpref{wxWindow
}{wxwindow
}\\
19 \helpref{wxEvtHandler
}{wxevthandler
}\\
20 \helpref{wxObject
}{wxobject
}
22 \wxheading{Include files
}
26 \wxheading{Window styles
}
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
33 \twocolitem{\windowstyle{wxLB
\_EXTENDED}}{Extended-selection list: the user can
34 select 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.
}
41 See also
\helpref{window styles overview
}{windowstyles
}.
43 \wxheading{Event handling
}
46 \begin{twocollist
}\itemsep=
0pt
47 \twocolitem{{\bf EVT
\_LISTBOX(id, func)
}}{Process a wxEVT
\_COMMAND\_LISTBOX\_SELECTED event,
48 when an item on the list is selected.
}
49 \twocolitem{{\bf EVT
\_LISTBOX\_DCLICK(id, func)
}}{Process a wxEVT
\_COMMAND\_LISTBOX\_DOUBLECLICKED event,
50 when the listbox is doubleclicked.
}
55 \helpref{wxChoice
}{wxchoice
},
\helpref{wxComboBox
}{wxcombobox
},
\helpref{wxListCtrl
}{wxlistctrl
},
56 \rtfsp\helpref{wxCommandEvent
}{wxcommandevent
}
58 \latexignore{\rtfignore{\wxheading{Members
}}}
60 \membersection{wxListBox::wxListBox
}\label{wxlistboxconstr
}
62 \func{}{wxListBox
}{\void}
66 \func{}{wxListBox
}{\param{wxWindow*
}{ parent
},
\param{wxWindowID
}{ id
},
\rtfsp
67 \param{const wxPoint\&
}{ pos = wxDefaultPosition
},
\param{const wxSize\&
}{ size = wxDefaultSize
},
\rtfsp
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"
}}
71 Constructor, creating and showing a list box.
73 \wxheading{Parameters
}
75 \docparam{parent
}{Parent window. Must not be NULL.
}
77 \docparam{id
}{Window identifier. A value of -
1 indicates a default value.
}
79 \docparam{pos
}{Window position.
}
81 \docparam{size
}{Window size. If the default size (-
1, -
1) is specified then the window is sized
84 \docparam{n
}{Number of strings with which to initialise the control.
}
86 \docparam{choices
}{An array of strings with which to initialise the control.
}
88 \docparam{style
}{Window style. See
\helpref{wxListBox
}{wxlistbox
}.
}
90 \docparam{validator
}{Window validator.
}
92 \docparam{name
}{Window name.
}
96 \helpref{wxListBox::Create
}{wxlistboxcreate
},
\helpref{wxValidator
}{wxvalidator
}
98 \pythonnote{The wxListBox constructor in wxPython reduces the
\tt{n
}
99 and
\tt{choices
} arguments are to a single argument, which is
104 \membersection{wxListBox::
\destruct{wxListBox
}}
106 \func{void
}{\destruct{wxListBox
}}{\void}
108 Destructor, destroying the list box.
110 \membersection{wxListBox::Append
}\label{wxlistboxappend
}
112 \func{void
}{Append
}{\param{const wxString\&
}{ item
}}
114 Adds the item to the end of the list box.
116 \func{void
}{Append
}{\param{const wxString\&
}{ item
},
\param{char*
}{clientData
}}
118 Adds the item to the end of the list box, associating the given data
121 \wxheading{Parameters
}
123 \docparam{item
}{String to add.
}
125 \docparam{clientData
}{Client data to associate with the item.
}
127 \membersection{wxListBox::Clear
}\label{wxlistboxclear
}
129 \func{void
}{Clear
}{\void}
131 Clears all strings from the list box.
133 \membersection{wxListBox::Create
}\label{wxlistboxcreate
}
135 \func{bool
}{Create
}{\param{wxWindow*
}{ parent
},
\param{wxWindowID
}{ id
},
\rtfsp
136 \param{const wxPoint\&
}{ pos = wxDefaultPosition
},
\param{const wxSize\&
}{ size = wxDefaultSize
},
\rtfsp
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"
}}
140 Creates the listbox for two-step construction. See
\helpref{wxListBox::wxListBox
}{wxlistboxconstr
}\rtfsp
143 \membersection{wxListBox::Delete
}\label{wxlistboxdelete
}
145 \func{void
}{Delete
}{\param{int
}{ n
}}
147 Deletes an item from the listbox.
149 \wxheading{Parameters
}
151 \docparam{n
}{The zero-based item index.
}
153 \membersection{wxListBox::Deselect
}\label{wxlistboxdeselect
}
155 \func{void
}{Deselect
}{\param{int
}{ n
}}
157 Deselects an item in the list box.
159 \wxheading{Parameters
}
161 \docparam{n
}{The zero-based item to deselect.
}
165 This applies to multiple selection listboxes only.
167 \membersection{wxListBox::FindString
}\label{wxlistboxfindstring
}
169 \func{int
}{FindString
}{\param{const wxString\&
}{string
}}
171 Finds an item matching the given string.
173 \wxheading{Parameters
}
175 \docparam{string
}{String to find.
}
177 \wxheading{Return value
}
179 The zero-based position of the item, or -
1 if the string was not found.
181 \membersection{wxListBox::GetClientData
}\label{wxlistboxgetclientdata
}
183 \constfunc{char*
}{GetClientData
}{\param{int
}{ n
}}
185 Returns a pointer to the client data associated with the given item (if any).
187 \wxheading{Parameters
}
189 \docparam{n
}{The zero-based position of the item.
}
191 \wxheading{Return value
}
193 A pointer to the client data, or NULL if not present.
195 \membersection{wxListBox::GetSelection
}\label{wxlistboxgetselection
}
197 \constfunc{int
}{GetSelection
}{\void}
199 Gets the position of the selected item.
201 \wxheading{Return value
}
203 The position of the current selection.
207 Applicable to single selection list boxes only.
211 \helpref{wxListBox::SetSelection
}{wxlistboxsetselection
},
\rtfsp
212 \helpref{wxListBox::GetStringSelection
}{wxlistboxgetstringselection
},
\rtfsp
213 \helpref{wxListBox::GetSelections
}{wxlistboxgetselections
}
215 \membersection{wxListBox::GetSelections
}\label{wxlistboxgetselections
}
217 \constfunc{int
}{GetSelections
}{\param{int **
}{selections
}}
219 Gets an array containing the positions of the selected strings.
221 \wxheading{Parameters
}
223 \docparam{selections
}{A pointer to an integer array, which will be allocated by the function if
224 selects are present. Do not deallocate the returned array - it will be deallocated by the listbox.
}
226 \wxheading{Return value
}
228 The number of selections.
232 Use this with a multiple selection listbox.
236 \helpref{wxListBox::GetSelection
}{wxlistboxgetselection
},
\rtfsp
237 \helpref{wxListBox::GetStringSelection
}{wxlistboxgetstringselection
},
\rtfsp
238 \helpref{wxListBox::SetSelection
}{wxlistboxsetselection
}
240 \pythonnote{The wxPython version of this method takes no parameters
241 and returns a tuple of the selected items.
}
243 \membersection{wxListBox::GetString
}\label{wxlistboxgetstring
}
245 \constfunc{wxString
}{GetString
}{\param{int
}{ n
}}
247 Returns the string at the given position.
249 \wxheading{Parameters
}
251 \docparam{n
}{The zero-based position.
}
253 \wxheading{Return value
}
255 The string, or an empty string if the position was invalid.
257 \membersection{wxListBox::GetStringSelection
}\label{wxlistboxgetstringselection
}
259 \constfunc{wxString
}{GetStringSelection
}{\void}
261 Gets the selected string - for single selection list boxes only. This
262 must be copied by the calling program if long term use is to be made of
267 \helpref{wxListBox::GetSelection
}{wxlistboxgetselection
},
\rtfsp
268 \helpref{wxListBox::GetSelections
}{wxlistboxgetselections
},
\rtfsp
269 \helpref{wxListBox::SetSelection
}{wxlistboxsetselection
}
271 \membersection{wxListBox::InsertItems
}\label{wxlistboxinsertitems
}
273 \func{void
}{InsertItems
}{\param{int
}{ nItems
},
\param{const wxString
}{ items
},
\param{int
}{ pos
}}
275 Insert the given number of strings before the specified position.
277 \wxheading{Parameters
}
279 \docparam{nItems
}{Number of items in the array
{\it items
}}
281 \docparam{items
}{Labels of items to be inserted
}
283 \docparam{pos
}{Position before which to insert the items: for example, if
{\it pos
} is
0 the items
284 will be inserted in the beginning of the listbox
}
286 \membersection{wxListBox::Number
}\label{wxlistboxnumber
}
288 \constfunc{int
}{Number
}{\void}
290 Returns the number of items in the listbox.
292 \membersection{wxListBox::Selected
}\label{wxlistboxselected
}
294 \constfunc{bool
}{Selected
}{\param{int
}{ n
}}
296 Determines whether an item is selected.
298 \wxheading{Parameters
}
300 \docparam{n
}{The zero-based item index.
}
302 \wxheading{Return value
}
304 TRUE if the given item is selected, FALSE otherwise.
306 \membersection{wxListBox::Set
}\label{wxlistboxset
}
308 \func{void
}{Set
}{\param{int
}{ n
},
\param{const wxString*
}{ choices
}}
310 Clears the list box and adds the given strings.
312 \wxheading{Parameters
}
314 \docparam{n
}{The number of strings to set.
}
316 \docparam{choices
}{An array of strings to set.
}
320 Deallocate the array from the calling program
321 after this function has been called.
323 \membersection{wxListBox::SetClientData
}\label{wxlistboxsetclientdata
}
325 \func{void
}{SetClientData
}{\param{int
}{ n
},
\param{char*
}{data
}}
327 Associates the given client data pointer with the given item.
329 \wxheading{Parameters
}
331 \docparam{n
}{The zero-based item index.
}
333 \docparam{data
}{The client data to associate with the item.
}
335 \membersection{wxListBox::SetFirstItem
}\label{wxlistboxsetfirstitem
}
337 \func{void
}{SetFirstItem
}{\param{int
}{ n
}}
339 \func{void
}{SetFirstItem
}{\param{const wxString\&
}{string
}}
341 Set the specified item to be the first visible item. Windows only.
343 \wxheading{Parameters
}
345 \docparam{n
}{The zero-based item index.
}
347 \docparam{string
}{The string that should be visible.
}
349 \membersection{wxListBox::SetSelection
}\label{wxlistboxsetselection
}
351 \func{void
}{SetSelection
}{\param{int
}{ n
},
\param{const bool
}{select = TRUE
}}
353 Selects or deselects the given item. This does not cause a
354 wxEVT
\_COMMAND\_LISTBOX\_SELECT event to get emitted.
356 \wxheading{Parameters
}
358 \docparam{n
}{The zero-based item index.
}
360 \docparam{select
}{If TRUE, will select the item. If FALSE, will deselect it.
}
362 \membersection{wxListBox::SetString
}\label{wxlistboxsetstring
}
364 \func{void
}{SetString
}{\param{int
}{ n
},
\param{const wxString\&
}{ string
}}
366 Sets the string value of an item.
368 \wxheading{Parameters
}
370 \docparam{n
}{The zero-based item index.
}
372 \docparam{string
}{The string to set.
}
374 \membersection{wxListBox::SetStringSelection
}\label{wxlistboxsetstringselection
}
376 \func{void
}{SetStringSelection
}{\param{const wxString\&
}{ string
},
\param{const bool
}{ select = TRUE
}}
378 Sets the current selection. This does not cause a
379 wxEVT
\_COMMAND\_LISTBOX\_SELECT event to get emitted.
381 \wxheading{Parameters
}
383 \docparam{string
}{The item to select.
}
385 \docparam{select
}{If TRUE, will select the item. If FALSE, will deselect it.
}