(clicking an item toggles the item on or off independently of other
selections).
- List box elements are numbered from zero.
- Their number may be limited under some platforms.
-
- A listbox callback gets an event @c wxEVT_COMMAND_LISTBOX_SELECTED for
- single clicks, and @c wxEVT_COMMAND_LISTBOX_DOUBLECLICKED for double clicks.
+ List box elements are numbered from zero and while the maximal number of
+ elements is unlimited, it is usually better to use a virtual control, not
+ requiring to add all the items to it at once, such as wxDataViewCtrl or
+ wxListCtrl with @c wxLC_VIRTUAL style, once more than a few hundreds items
+ need to be displayed because this control is not optimized, neither from
+ performance nor from user interface point of view, for large number of
+ items.
+
+ Notice that currently @c TAB characters in list box items text are not
+ handled consistently under all platforms, so they should be replaced by
+ spaces to display strings properly everywhere. The list box doesn't
+ support any other control characters at all.
@beginStyleTable
@style{wxLB_SINGLE}
@beginEventEmissionTable{wxCommandEvent}
@event{EVT_LISTBOX(id, func)}
- Process a @c wxEVT_COMMAND_LISTBOX_SELECTED event, when an item on the
+ Process a @c wxEVT_LISTBOX event, when an item on the
list is selected or the selection changes.
@event{EVT_LISTBOX_DCLICK(id, func)}
- Process a @c wxEVT_COMMAND_LISTBOX_DOUBLECLICKED event, when the listbox
+ Process a @c wxEVT_LISTBOX_DCLICK event, when the listbox
is double-clicked.
@endEventTable
@library{wxcore}
@category{ctrl}
- @appearance{listbox.png}
+ @appearance{listbox}
@see wxEditableListBox, wxChoice, wxComboBox, wxListCtrl, wxCommandEvent
*/
-class wxListBox : public wxControlWithItems
+class wxListBox : public wxControl,
+ public wxItemContainer
{
public:
/**