Einfache Steuerelemente

Nachdem Sie die ersten Schritte mit dem Steuerelement SButton ausprobiert haben, soll in diesem Abschnitt des Tutorials die Handhabung weiterer einfacher Steuerelemente besprochen werden. Die folgenden Steuerelemente werden exemplarisch vorgestellt:

Die aufgezeigte Arbeitsweise lässt sich prinzipiell auf alle weiteren Steuerelemente anwenden.

Vorbereitung

Falls Sie das Projekt aus den vorangegangenen Abschnitten nicht mehr offen haben, öffnen Sie bitte das Projekt „Schnelleinstieg“ oder legen Sie ein neues SVL-Projekt an (vgl. Schnelleinstieg).

statischer Text, SStatic

Das vielleicht einfachste Steuerelement ist statischer Text (SStatic). Mit diesem lassen sich bei der Benutzerführung einfache Inforamtionen als Text anzeigen. Um einen statischen Text auf dem Fenster zu platzieren, fügen Sie in die Klasse MainWnd ein Attribut ein.

ein Attribut in die Klasse einfügen

Wählen Sie im ControlWizard den Typ (SStatic). Geben Sie dem Element den Namen „Label“.
Sie können Position und Größe festlegen sowie einen Textinhalt des Elementes.

se

Erstellen und Starten Sie die Anwendung.

eine SVL-Anwendung mit statischem Text

Eingabefeld, SEdit

Eingabefelder stellen im Gegensatz zum SStatic nicht nur einen Text dar, sondern ermöglichen dem Anwender auch, Texte einzugeben. Die SVL stellt als einfaches einzeiliges Eingabefeld die Klasse SEdit zur Verfügung. Um ein einfaches Eingabefeld einzufügen, ziehen Sie per Drag & Drop ein Attribut auf die betreffende Fensterklasse.

ein Attribut in die Klasse einfügen

Wählen Sie im ControlWizard den Typ SEdit. Geben Sie dem Element den Namen „Textfeld“. Sie können Position und Größe festlegen sowie einen Textinhalt des Elementes.

se

Erstellen und Starten Sie die Anwendung.

SVL-Anwendung mit Eingabefeld

Listenfeld, SListBox

Listen spielen in Benutzeroberflächen eine wichtige Rolle. Dem Anwender werden verschiedene Auswahlmöglichkeiten angeboten. Die Auswahlaktion selbst wird zum einen durch das Ereignis onSelChange signalisiert und kann sofort eine Systemreaktion auslösen. Zum anderen kann die Auswahl auch zu einem späteren Zeitpunkt ausgewertet werden, indem die Listbox, zum Beispiel mit der Nachricht getCurSel, abgefragt wird. Vergleichen Sie dazu die Dokumentation zur Klasse SListBox.

ein Attribut in die Klasse einfügen

Wählen Sie im ControlWizard den Typ SListBox. Geben Sie dem Element den Namen „Listbox“. Sie können Position und Größe festlegen sowie einen Listeninhalt des Elementes. Wählen Sie bei der Auswahl zum Klick-Ereignis im Listenfeld eine neue Funktion zur Ereignisbehandlung (onSelChangeListbox).

se

Vergleichen Sie das Klassendiagramm bis zu diesem Arbeitsstand. Achten Sie auf die neue Operation onSelChangeListbox in der Klasse MainWnd.

Erstellen und Starten Sie die Anwendung.

SVL-Anwendung mit ListBox

Videozusammenfassung

Zusammenwirken der Steuerelmente

Die soeben angelegten Steuerelemente (SStatic, SEdit, SListBox) können vom Anwendungsentwickler über entsprechende Operationen (Nachrichten) ausgelesen oder auch verändert werden. Für das folgende Beispiel soll das Ereignis onSelChangeListbox genutzt werden, verschiedene Aktionen auf die Steuerelemente anzuwenden. Dafür ist die Klasse SString eine nützliche Hilfe.

MainWnd::onSelChangeListbox
// lokale Variablen anlegen
SString text;
int idx;
 
// 1. den Text aus dem Eingabefeld abholen
text=eingabefeld.getWindowText();
 
// 2. den Text an das statische Label weiter geben
lable.setWindowText(text);
 
// 3. die Selektion in der Listbox ermitteln
idx = listbox.getCurSel();
 
// 4. den Listentext vom selektierten Eintrag abholen
text = listbox.getText(idx);
 
// 5. den Listentext an das Eingabefeld weiter geben
eingabefeld.setWindowText(text);

Die Dokumentation der verwendeten Operationen (Nachrichten) finden Sie in der Hilfe zu den Steuerelementen SStatic, SEdit und SListBox. Vergleichen Sie dazu das automatisch erstellte Sequenzdiagramm.

Erstellen, starten und testen Sie die Anwendung.

Nächstes Thema