16.17 CheckBox

In den nächsten zwei Kapiteln werden die beiden Komponenten CheckBox und RadioButton beschrieben. Jede Komponente hat ihre spezifische Funktion:

Beispiel

Abbildung 16.17.1: Drei CheckBoxen und eine Gruppe von drei RadioButton

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.

EigenschaftTypDefaultBeschreibung
AutoresizeBooleanFalseErmittelt den Wert oder legt fest, ob sich die Größe der CheckBox automatisch an den beschreibenden Text anpasst.
TextStringNullErmittelt den Text oder legt den Text fest, der auf der CheckBox als Beschriftung angezeigt wird.
CaptionStringNullSynonym für Text
TristateBooleanFalseErmittelt oder legt fest, ob die CheckBox über einen dritten Zustand verfügt.
ValueInteger0Ermittelt 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:

SymbolZustandWertKonstante
Ausgewählt-1CheckBox.True
Nicht ausgewählt0CheckBox.False
Unbestimmt1CheckBox.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.

Download

Artikel

Download