]>
git.saurik.com Git - wxWidgets.git/blob - interface/wx/listbox.h
   1 ///////////////////////////////////////////////////////////////////////////// 
   3 // Purpose:     interface of wxListBox 
   4 // Author:      wxWidgets team 
   6 // Licence:     wxWindows license 
   7 ///////////////////////////////////////////////////////////////////////////// 
  12     A listbox is used to select one or more of a list of strings. 
  14     The strings are displayed in a scrolling box, with the selected string(s) 
  15     marked in reverse video. A listbox can be single selection (if an item is 
  16     selected, the previous selection is removed) or multiple selection 
  17     (clicking an item toggles the item on or off independently of other 
  20     List box elements are numbered from zero. 
  21     Their number may be limited under some platforms. 
  23     A listbox callback gets an event @c wxEVT_COMMAND_LISTBOX_SELECTED for 
  24     single clicks, and @c wxEVT_COMMAND_LISTBOX_DOUBLECLICKED for double clicks. 
  28            Single-selection list. 
  30            Multiple-selection list: the user can toggle multiple items on and off. 
  31            This is the same as wxLB_EXTENDED in wxGTK2 port. 
  33            Extended-selection list: the user can extend the selection by using 
  34            @c SHIFT or @c CTRL keys together with the cursor movement keys or 
  37            Create horizontal scrollbar if contents are too wide (Windows only). 
  38     @style{wxLB_ALWAYS_SB} 
  39            Always show a vertical scrollbar. 
  40     @style{wxLB_NEEDED_SB} 
  41            Only create a vertical scrollbar if needed. 
  43            The listbox contents are sorted in alphabetical order. 
  46     Note that @c wxLB_SINGLE, @c wxLB_MULTIPLE and @c wxLB_EXTENDED styles are 
  47     mutually exclusive and you can specify at most one of them (single selection 
  48     is the default). See also @ref overview_windowstyles. 
  50     @beginEventTable{wxCommandEvent} 
  51     @event{EVT_LISTBOX(id, func)} 
  52            Process a wxEVT_COMMAND_LISTBOX_SELECTED event, when an item on the 
  53            list is selected or the selection changes. 
  54     @event{EVT_LISTBOX_DCLICK(id, func)} 
  55            Process a wxEVT_COMMAND_LISTBOXDOUBLECLICKED event, when the listbox 
  61     @appearance{listbox.png} 
  63     @see wxEditableListBox, wxChoice, wxComboBox, wxListCtrl, wxCommandEvent 
  65 class wxListBox 
: public wxControlWithItems
 
  74         Constructor, creating and showing a list box. 
  79             The ID of this control. A value of @c wxID_ANY indicates a default value. 
  84             If wxDefaultSize is specified then the window is sized appropriately. 
  86             Number of strings with which to initialise the control. 
  88             The strings to use to initialize the control. 
  90             Window style. See wxListBox. 
  92             The validator for this control. 
  94             The name of this class. 
  97     wxListBox(wxWindow
* parent
, wxWindowID id
, 
  98               const wxPoint
& pos 
= wxDefaultPosition
, 
  99               const wxSize
& size 
= wxDefaultSize
, 
 101               const wxString choices
[] = NULL
, 
 103               const wxValidator
& validator 
= wxDefaultValidator
, 
 104               const wxString
& name 
= wxListBoxNameStr
); 
 107         Constructor, creating and showing a list box. 
 109         See the other wxListBox() constructor; the only difference is that 
 110         this overload takes a wxArrayString instead of a pointer to an array 
 114     wxListBox(wxWindow
* parent
, wxWindowID id
, 
 117               const wxArrayString
& choices
, 
 119               const wxValidator
& validator 
= wxDefaultValidator
, 
 120               const wxString
& name 
= wxListBoxNameStr
); 
 123         Destructor, destroying the list box. 
 125     virtual ~wxListBox(); 
 129         Creates the listbox for two-step construction. 
 130         See wxListBox() for further details. 
 132     bool Create(wxWindow
* parent
, wxWindowID id
, 
 133                 const wxPoint
& pos 
= wxDefaultPosition
, 
 134                 const wxSize
& size 
= wxDefaultSize
, 
 136                 const wxString choices
[] = NULL
, 
 138                 const wxValidator
& validator 
= wxDefaultValidator
, 
 139                 const wxString
& name 
= "listBox"); 
 140     bool Create(wxWindow
* parent
, wxWindowID id
, 
 143                 const wxArrayString
& choices
, 
 145                 const wxValidator
& validator 
= wxDefaultValidator
, 
 146                 const wxString
& name 
= "listBox"); 
 150         Deselects an item in the list box. 
 153             The zero-based item to deselect. 
 155         @remarks This applies to multiple selection listboxes only. 
 157     void Deselect(int n
); 
 160         Fill an array of ints with the positions of the currently selected items. 
 163             A reference to an wxArrayInt instance that is used to store the result of 
 166         @return The number of selections. 
 168         @remarks Use this with a multiple selection listbox. 
 170         @see wxControlWithItems::GetSelection, wxControlWithItems::GetStringSelection, 
 171              wxControlWithItems::SetSelection 
 173     virtual int GetSelections(wxArrayInt
& selections
) const; 
 176         Returns the item located at @a point, or @c wxNOT_FOUND if there 
 177         is no item located at @a point. 
 179         It is currently implemented for wxMSW, wxMac and wxGTK2 ports. 
 182             Point of item (in client coordinates) to obtain 
 184         @return Item located at point, or wxNOT_FOUND if unimplemented or the 
 189     int HitTest(const wxPoint
& point
) const; 
 192         Insert the given number of strings before the specified position. 
 195             Number of items in the array items 
 197             Labels of items to be inserted 
 199             Position before which to insert the items: if pos is 0 the 
 200             items will be inserted in the beginning of the listbox 
 202     void InsertItems(unsigned int nItems
, const wxString 
*items
, 
 206         Insert the given number of strings before the specified position. 
 209             Labels of items to be inserted 
 211             Position before which to insert the items: if pos is @c 0 the 
 212             items will be inserted in the beginning of the listbox 
 214     void InsertItems(const wxArrayString
& items
, 
 218         Determines whether an item is selected. 
 221             The zero-based item index. 
 223         @return @true if the given item is selected, @false otherwise. 
 225     virtual bool IsSelected(int n
) const; 
 228         Clears the list box and adds the given strings to it. 
 231             The number of strings to set. 
 233             An array of strings to set. 
 235             Options array of client data pointers 
 237     void Set(unsigned int n
, const wxString
* choices
, void *clientData
); 
 240         Clears the list box and adds the given strings to it. 
 241         You may free the array from the calling program after this method 
 245             An array of strings to set. 
 247             Options array of client data pointers 
 249     void Set(const wxArrayString
& choices
, void *clientData
); 
 252         Set the specified item to be the first visible item. 
 255             The zero-based item index that should be visible. 
 257     void SetFirstItem(int n
); 
 260         Set the specified item to be the first visible item. 
 263             The string that should be visible. 
 265     void SetFirstItem(const wxString
& string
);