wxWidgets-Kontrollelemente
Willemers Informatik-Ecke
Weitere Themen

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:

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)

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

Links