wxStaticText
Ein wxStaticText definiert einen Text, der innerhalb eines Dialogs als erklärendes Element eingesetzt wird. Der Text wird im Konstruktor übergeben, kann mit der Methode SetValues nachträglich geändert werden.
wxStaticText anzeige = new wxStaticText(this, ID, "Angebot!"); anzeige.SetValue("90,99 Euro");Der Konstruktor hat folgenden Prototyp
wxStaticText::wxStaticText( wxWindow * parent, wxWindowID id, const wxString & label, const wxPoint & pos = wxDefaultPosition, const wxSize & size = wxDefaultSize, long style = 0, const wxString & name = wxStaticTextNameStr )
style kann die folgenden Werte annehmen: wxALIGN_LEFT wxALIGN_RIGHT wxALIGN_CENTRE_HORIZONTAL wxST_NO_AUTORESIZE
Definition in den wxWidgets-Docs
wxButton
Der Button soll Aktionen in das Fenster bringen.wxButton *btNeuesSpiel = new wxButton(this, ID, "Neues Spiel"); Bind(wxEVT_BUTTON, &wxBermudaFrame::clkNeuesSpiel, this, ID);Durch einen Klich auf den Button wird die Methode clkNeuesSpiel aufgerufen, die folgendem Prototypen folgen muss.
void wxBermudaFrame::clkNeuesSpiel(wxCommandEvent& event)Alternativ zum Aufruf von Bind kann auch eine Ereignistabelle erstellt werden.
BEGIN_EVENT_TABLE( wxBermudaFrame, wxFrame ) EVT_BUTTON(112, wxBermudaFrame::clkNeuesSpiel) END_EVENT_TABLE()
Die Tabelle muss in der Klasse deklariert werden:
class wxBermudaFrame : wxFrame { // ... private: DECLARE_EVENT_TABLE() }Der Konstruktor von wxButton folgt dem folgenden Prototyp:
wxButton::wxButton( wxWindow * parent, wxWindowID id, const wxString & label = wxEmptyString, const wxPoint & pos = wxDefaultPosition, const wxSize & size = wxDefaultSize, long style = 0, const wxValidator & validator = wxDefaultValidator, const wxString & name = wxButtonNameStr )wxButton bietet folgende Methoden:
- SetDefault()
- SetLabel(const wxString &)
- Enable()
- Disable()
Texteingabefeld wxTextCtrl
Das Texteingabefeld ermöglicht dem Anwender die Eingabe von Daten in Textform.wxTextCtrl edit = new wxTextCtrl(this, ID, "Eingabe");Der Text wird mit der Funktion SetValue(wxString) gesetzt und mit GetValue() ausgelesen.
Liste wxListBox
#include <wx/listbox.h> wxListBox(wxWindow* parent, wxWindowID id, wxPoint& pos, wxSize& size, wxArrayString& choices, long style)
- Style:
- wxLB_SINGLE: Nur eine Selektion möglich.
- wxLB_MULTIPLE: Mehrere Selektionen möglich über die Strg-Taste.
Funktionen
Das nachträgliche Füllen der Liste erfolgt über die Funktion InsertItems. Es werden immer mehrere Items eingefügt. Darum ist der Parameter auch ein wxArrayString. Das sieht dann etwa so aus:wxListBox box(...); wxArrayString Liste; for (int i=0; i<max; i++) { Liste.Add(string); } box.InsertItems(Liste, 0);
Selektion ermitteln
Die Funktion GetSection() liefert den Index des selektierten Eintrags oder wxNOT_FOUND, wenn es einen solchen nicht gibt.Bei Listboxen mit der Möglichkeit, mehrere Einträge zu selektieren (wxLB_MULTIPLE), wird die Funktion GetSelections(wxArrayInt&) aufgerufen. Der Rückgabewert ist hier die Anzahl der selektierten Einträge, deren Indizes in dem übergebenen wxArrayInt zu finden sind.
Element auslesen
Mit der Funktion GetString(int index) wird der Eintrag an der Position index ausgelesen.Ereignisse
EVT_LISTBOX(id, func) | Selektion eines Elements |
EVT_LISTBOX_DCLICK(id, func) | Doppelklick |
EVT_CHECKLISTBOX (id, func) | Haken bei wxCheckListBox |