16.17 CheckBox
In den nächsten zwei Kapiteln werden die beiden Komponenten CheckBox und RadioButton beschrieben. Jede Komponente hat ihre spezifische Funktion:
- Eine CheckBox ist eine Komponente zum Aktivieren/Deaktivieren einer Option.
- Ein RadioButton dagegen ist eine Komponente zur Auswahl einer Option aus einer Gruppe von mindestens 2 Optionen. Jede Option wird durch einen RadioButton der Gruppe repräsentiert. und es kann nur genau eine Option ausgewählt werden.
Abbildung 16.17.1: Drei CheckBoxen und eine Gruppe von drei RadioButton
- Für den Scanner → Abbildung 16.17.1 setzen Sie zum Beispiel mit drei CheckBoxen 8 völlig unabhängig voneinander existierende Varianten – von alle drei Optionen ☑☑☑ gesetzt bis keine Option ⎕⎕⎕ gesetzt.
- Für den Scan-Modus können Sie mit drei RadioButton nur einen Modus aus drei möglichen Modi auswählen, da alle drei RadioButton zur gleichen Gruppe gehören und nur ein RadioButton aktiv gesetzt werden kann.
Komponente CheckBox
Die Komponente CheckBox (gb.qt4) implementiert eine CheckBox, die markiert werden kann oder nicht. Wenn die Tristate-Eigenschaft festgelegt ist, dann wird der CheckBox-Zustand im Sinne von „Zustand unbekannt (nicht definiert)“ oder „soll nicht geändert werden“ interpretiert.
| Eigenschaft | Typ | Default | Beschreibung |
|---|---|---|---|
| Autoresize | Boolean | False | Ermittelt den Wert oder legt fest, ob sich die Größe der CheckBox automatisch an den beschreibenden Text anpasst. |
| Text | String | Null | Ermittelt den Text oder legt den Text fest, der auf der CheckBox als Beschriftung angezeigt wird. |
| Caption | String | Null | Synonym für Text |
| Tristate | Boolean | False | Ermittelt oder legt fest, ob die CheckBox über einen dritten Zustand verfügt. |
| Value | Integer | 0 | Ermittelt oder legt fest, welchen Wert die CheckBox hat. |
Tabelle 16.17.1: Eigenschaften CheckBox
Die Eigenschaft CheckBox.Value kann drei Werte annehmen -1, 0 oder 1. Dabei gilt für den Zustand im Zusammenhang mit den definierten CheckBox-Konstanten und der .Tristate-Eigenschaft:
| Symbol | Zustand | Wert | Konstante |
|---|---|---|---|
| ☑ | Ausgewählt | -1 | CheckBox.True |
| ⎕ | Nicht ausgewählt | 0 | CheckBox.False |
| ⊟ | Unbestimmt | 1 | CheckBox.None ( + CheckBox.Tristate = True) |
Tabelle 16.17.2: Werte der Eigenschaft CheckBox.Value
Das Klick-Ereignis wird ausgelöst, wenn der Benutzer auf die CheckBox klickt und es ändert sich der Zustand der CheckBox. Gilt CheckBox.Tristate = False, dann ändert sich der Zustand alternativ. Sonst gilt die Reihenfolge: ⎕ → ⊟ → ☑ ! Davon können Sie sich selbst schnell überzeugen, wenn Sie für eine CheckBox die Eigenschaft CheckBox.Tristate auf True oder False setzen und diese Ereignisbehandlungsroutine einsetzen:
Public Sub CheckBox1_Click() Select CheckBox1.Value Case -1 Print "CheckBox checked" ' Zustand: ausgewählt Case 0 Print "CheckBox unchecked" ' Zustand: nicht ausgewählt Case CheckBox1.None Print "CheckBox indeterminate" ' Zustand: indifferent End Select End ' CheckBox1_Click()
Das ist schon bemerkenswert: Die gesamten Quelltexte (trunk/) von Gambas zeigen nur im mitgelieferten Beispiel GameOfLife eine Anwendung von CheckBox.Tristate.

