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.
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).
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.
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.
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.
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.
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.
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.
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.