Benutzer-Werkzeuge

Webseiten-Werkzeuge


k13:k13.3:k13.3.1:start

13.3.1 Optionsmenü

Ein Optionsmenü ist ein Menü mit einem Text und einer CheckBox, deren Wert zwischen den zwei zwei Zuständen ☑ (aktiviert) und ☐ (de-aktiviert) umgeschaltet werden kann. Um ein Menü mit dieser Eigenschaft zu realisieren, müssen Sie die Checked-Eigenschaft eines Menüs benutzen. Sie können diese Eigenschaft im Menüeditor oder im Quelltext setzen. Die Checked-Eigenschaft eines Menüs korrespondiert mit der Toggle-Eigenschaft.

Die Eigenschaft Menu.Checked ist ein Synonym für Menu.Value und zeigt an, ob das Häkchen ☑ vor dem Menü-Text angezeigt wird oder nicht ☐. Sie kontrolliert jedoch in keiner Weise das Verhalten des Optionsmenüs! Ist Menu.Toggle gesetzt, dann wird Menu.Checked automatisch invertiert, wenn das Optionsmenü angeklickt wird.

13.3.1.1 Beispiel 1

In einem Programm, das Bilder lädt und anzeigt wollen Sie dem Benutzer u.a. die Möglichkeit geben, das Bild zu editieren. Dazu erzeugen Sie zum Beispiel einen (Unter-)Menüpunkt mnu21AllowedEdit mit der Beschriftung „Bild-Bearbeitung“ in einem Menü mnuMenu2 mit der Beschriftung „Extras“:

Public Sub CreateAndShowMenus()'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  mnuMenu2 = New Menu(FMain, False) ' Menü-Leiste wird angezeigt
  mnuMenu2.Caption = "Extras"  
 
  mnu21AllowedEdit = New Menu(mnuMenu2) As "mnuAllowedEdit"
  mnu21AllowedEdit.Caption = "Bild-Bearbeitung"
  mnu21AllowedEdit.Visible = True
 
  mnu21AllowedEdit.Toggle = True
  mnu21AllowedEdit.Checked = False
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~End ' CreateAndShowMenus()

B1

Abbildung 13.3.1.1.1: Checkbox de-aktiviert – Bildbearbeitung nicht erlaubt (Starteinstellung)

[1] Public Sub mnuAllowedEdit_Click()
[2]   
[3]   If bOpenImage = True Then 
[4]      MM.mnu12Edit.Enabled = mnu21AllowedEdit.Checked
[5]   Endif ' bOpenImage = True ?    
[6] 
[7] End ' mnuAllowedEdit_Click()
  • Wird der Menüeintrag „Bild-Bearbeitung“ angeklickt, dann wird mnu21AllowedEdit.Checked automatisch auf „aktiviert“ ☑ umgeschaltet (→ Abbildung 13.3.1.1.2), weil die Toggle-Eigenschaft auf True gesetzt ist.
  • Der aktuelle Wert von mnu21AllowedEdit.Checked in der Zeile 4 schaltet als Menü-Aktion den Bildeditor im Menü mnu12Edit frei.

B2

Abbildung 13.3.1.1.2: Checkbox aktiviert – Bildbearbeitung zugelassen

13.3.1.2 Beispiel 2

Das Beispiel 2 bezieht sich auf den Editor 'Notepad' aus der Beispielsammlung von Gambas. Im Editor können Sie den Zeilenumbruch in der Text anzeigenden Komponente TextArea ein- und ausschalten. Im Menüeditor ist die Eigenschaft mnuWrap.Checked=False und mnuWrap.Toggle nicht gesetzt. Deshalb müssen Sie die Umschaltung der Checkbox-Zustände wie in der Zeile 3 selbst vornehmen:

[1] Public Sub mnuWrap_Click()
[2] 
[3]   mnuWrap.Checked = Not mnuWrap.Checked
[4]   txtNotePad.Wrap = mnuWrap.Checked
[5] 
[6] End ' mnuWrap_Click()

B3

Abbildung 13.3.1.2.1: Checkbox ist beim Programmstart aktiviert

B4

Abbildung 13.3.1.2.2: Checkbox de-aktiviert – Zeilenumbruch kann aktiviert werden


Die Anzeige eines Icon im Menü-Eintrag 'Zeilenumbruch' einerseits und die Anzeige einer aktivierten Checkbox ☑ gelingen nur dann, wenn Sie als Graphical User Interface entweder die QT/QTK+ Wechselkomponente (gb.gui) oder die GTK+ Komponente einsetzen. Der Einsatz der QT4-Komponente erzeugt einen Fehler bei der Anzeige des vorgesehenen Icons.

Download

Artikel

Download

k13/k13.3/k13.3.1/start.txt · Zuletzt geändert: 20.06.2016 (Externe Bearbeitung)

Seiten-Werkzeuge