A combobox is like a combination of an edit control and a listbox. It can be displayed as static list with editable or read-only text field; or a drop-down list with text field; or a drop-down list without a text field.
A combobox permits a single selection only. Combobox items are numbered from zero.
Derived from
wxControl
wxWindow
wxEvtHandler
wxObject
Include files
<wx/combobox.h>
Window styles
wxCB_SIMPLE | Creates a combobox with a permanently displayed list. Windows only. |
wxCB_DROPDOWN | Creates a combobox with a drop-down list. |
wxCB_READONLY | Same as wxCB_DROPDOWN but only the strings specified as the combobox choices can be selected, it is impossible to select (even from a program) a string which is not in the choices list. |
wxCB_SORT | Sorts the entries in the list alphabetically. |
See also window styles overview.
Event handling
EVT_COMBOBOX(id, func) | Process a wxEVT_COMMAND_COMBOBOX_SELECTED event, when an item on the list is selected. |
EVT_TEXT_ENTER(id, func) | Process a wxEVT_COMMAND_TEXT_ENTER event, when return is pressed in the combobox. |
EVT_TEXT(id, func) | Process a wxEVT_COMMAND_TEXT_UPDATED event, when the combobox text changes. |
See also
wxListBox, wxTextCtrl, wxChoice, wxCommandEvent
Members
wxComboBox::wxComboBox
wxComboBox::~wxComboBox
wxComboBox::Append
wxComboBox::Clear
wxComboBox::Create
wxComboBox::Copy
wxComboBox::Cut
wxComboBox::Delete
wxComboBox::FindString
wxComboBox::GetClientData
wxComboBox::GetCount
wxComboBox::GetInsertionPoint
wxComboBox::GetLastPosition
wxComboBox::GetSelection
wxComboBox::GetString
wxComboBox::GetStringSelection
wxComboBox::GetValue
wxComboBox::Number
wxComboBox::Paste
wxComboBox::Replace
wxComboBox::Remove
wxComboBox::SetClientData
wxComboBox::SetInsertionPoint
wxComboBox::SetInsertionPointEnd
wxComboBox::SetSelection
wxComboBox::SetString
wxComboBox::SetValue
wxComboBox()
Default constructor.
wxComboBox(wxWindow* parent, wxWindowID id, const wxString& value = "", const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, int n, const wxString choices[], long style = 0, const wxValidator& validator = wxDefaultValidator, const wxString& name = "comboBox")
Constructor, creating and showing a combobox.
Parameters
parent
id
value
pos
size
n
choices
style
validator
name
See also
wxComboBox::Create, wxValidator
wxPython note: The wxComboBox constructor in wxPython reduces the n and choices arguments are to a single argument, which is a list of strings.
wxPerl note: In wxPerl there is just an array reference in place of n and choices.
~wxComboBox()
Destructor, destroying the combobox.
void Append(const wxString& item)
Adds the item to the end of the combobox.
void Append(const wxString& item, void* clientData)
Adds the item to the end of the combobox, associating the given data with the item.
Parameters
item
clientData
void Clear()
Clears all strings from the combobox.
bool Create(wxWindow* parent, wxWindowID id, const wxString& value = "", const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, int n, const wxString choices[], long style = 0, const wxValidator& validator = wxDefaultValidator, const wxString& name = "comboBox")
Creates the combobox for two-step construction. Derived classes should call or replace this function. See wxComboBox::wxComboBox for further details.
void Copy()
Copies the selected text to the clipboard.
void Cut()
Copies the selected text to the clipboard and removes the selection.
void Delete(int n)
Deletes an item from the combobox.
Parameters
n
int FindString(const wxString& string)
Finds a choice matching the given string.
Parameters
string
Return value
The position if found, or -1 if not found.
void* GetClientData(int n) const
Returns a pointer to the client data associated with the given item (if any).
Parameters
n
Return value
A pointer to the client data, or NULL if the item was not found.
int GetCount() const
Returns the number of items in the combobox.
long GetInsertionPoint() const
Returns the insertion point for the combobox's text field.
long GetLastPosition() const
Returns the last position in the combobox text field.
int GetSelection() const
Gets the position of the selected string, or -1 if there is no selection.
wxString GetString(int n) const
Returns the string at position n.
Parameters
n
Return value
The string if the item is found, otherwise the empty string.
wxString GetStringSelection() const
Gets the selected string.
wxString GetValue() const
Returns the current value in the combobox text field.
int Number() const
Obsolescence note: This method is obsolete and was replaced with GetCount, please use the new method in the new code. This method is only available if wxWindows was compiled with WXWIN_COMPATIBILITY_2_2 defined and will disappear completely in future versions.
Returns the number of items in the combobox list.
void Paste()
Pastes text from the clipboard to the text field.
void Replace(long from, long to, const wxString& text)
Replaces the text between two positions with the given text, in the combobox text field.
Parameters
from
to
text
void Remove(long from, long to)
Removes the text between the two positions in the combobox text field.
Parameters
from
to
void SetClientData(int n, void* data)
Associates the given client data pointer with the given item.
Parameters
n
data
void SetInsertionPoint(long pos)
Sets the insertion point in the combobox text field.
Parameters
pos
void SetInsertionPointEnd()
Sets the insertion point at the end of the combobox text field.
void SetSelection(int n)
Selects the given item in the combobox list. This does not cause a wxEVT_COMMAND_COMBOBOX_SELECTED event to get emitted.
void SetSelection(long from, long to)
Selects the text between the two positions, in the combobox text field.
Parameters
n
from
to
wxPython note: The second form of this method is called SetMark in wxPython.
void SetString(int n, const wxString& text)
Replaces the specified string in the control with another one.
Parameters
n
text
NB: This method is currently not implemented in wxGTK.
void SetValue(const wxString& text)
Sets the text for the combobox text field.
NB: For a combobox with wxCB_READONLY style the string must be in the combobox choices list, otherwise the call to SetValue() is ignored.
Parameters
text