Benutzer-Werkzeuge

Webseiten-Werkzeuge


k13:k13.2:start

Die einfachste Art Ihr Programm mit einem Menü (→ Abbildung 13.2.4) auszurüsten besteht darin, den Menü-Editor einzusetzen. Es ist ein guter Plan, wenn Sie sich – vor allem bei einer komplexen Menü-Struktur – diese Struktur aufzeichnen und sie dann in einer Tabelle abbilden:

Name Ebene Group Caption Action Tag Shortcut V E T C
mnu1Menu 0 Bild-Datei CTRL+W + +
mnu11Open 1 Öffnen… OpenImage CTRL+O + +
mnu12New 1 Neu CTRL+N + +
mnu13Space 1 + +
mnu14Print 1 Drucken CTRL+P +
mnu15Close 1 Beenden FormClose CTRL+Q + +
mnu2Menu 0 Extras + +
mnu21Optionen 1 Optionen + +
mnu22SelectColor 1 Farbpaletten + +
mnu221Palette1 2 Farbtafel 1 + +
mnu222Space 2 + +
mnu223Palette2 2 Farbtafel 2 + +
mnu23PreView 1 Vorschau + +
mnu3Menu 0 Hilfe + +
mnu31Help 1 Hilfe HelpMe F1 + +
mnu32Web 1 Online-Hilfe + +

Tabelle 13.2.1: Menü-Struktur (V=Visible, E=Enabled, T=Toogle und C=Checked)

Menüeditor-Icon

Den Menü-Editor starten Sie

  • über einen Klick auf den Button Menüeditor in der Menüleiste (über dem Formular) ,
  • mit der Tastenkombination CTRL + E oder
  • nach einem Klick der rechten Maustaste auf das Formular, in dem Sie aus dem sich öffnenden Kontextmenü den Eintrag Menüeditor aktivieren.

Menüeditor 1

Abbildung 13.2.1: (Teil-)Ansicht des Menü-Editors

Beim Anlegen einer Menü-Struktur haben sich folgende Arbeitsschritte bewährt:

  • Ein Klick auf die Schaltfläche Einfügen im Menü-Editor erzeugt einen neuen Menüeintrag.
  • Tragen Sie in den oberen und unteren Teil des Menüeditors für jeden Menüeintrag die Angaben aus Ihrer Tabelle ein → Abbildung 13.2.1 und → Abbildung 13.2.2.
  • Sie können Ihre Eintragungen jederzeit korrigieren (ändern oder löschen).
  • Wenn Sie das Textfeld bei Caption frei lassen, wird zur Laufzeit des Programms automatisch im Menü eine Trennlinie zwischen zwei Menüeinträgen erzeugt. Der Name des Menüeintrags erscheint nur im Menü-Editor in der Farbe hellgrau.
  • Ändern Sie die Ebene eines Menüeintrags, indem Sie den Menüeintrag markieren und dann mit den beiden Schaltflächen Einrücken und Ausrücken die Ebene erhöhen oder verringern. Die aktuelle Ebene erkennen Sie an den kleinen Punkten vor dem Menüeintrag. Einen Menüeintrag der Ebene Null erkennen Sie im Menüeditor am Schriftstil fett.
  • Sie können einen Menüeintrag mit den zwei Schaltflächen 'Nach oben verschieben' und 'Nach unten verschieben' in der Menü-Struktur verschieben. Bitte achten Sie dann darauf, u.U. die Namen der Menüeinträge anzupassen, wenn diese Bezeichnung eine Rang- und Reihenfolge kennzeichnet.
  • Ordnen Sie den einzelnen Menüeinträgen ein passendes Icon aus dem Bestand von Gambas zu, wenn Sie der üblichen Praxis bei Menüeinträgen folgen wollen.
  • Prüfen Sie alle Eintragungen im Menü-Editor sorgfältig, bevor sie den Menüeditor schließen.

Menüeditor2

Abbildung 13.2.2: (Teil-)Ansicht2 des Menü-Editors

Quittieren Sie alle Eintragungen oder Änderungen im Menü-Editor mit OK. Wenn Sie den Menü-Editor schließen, obgleich Sie Änderungen vorgenommen haben, dann wird nachgefragt, ob die Änderungen gespeichert werden sollen:

Nachfrage

Abbildung 13.2.3: Speichern – Nachfrage

Eintragungen im Menü-Editor bei Action werden nur dann notwendig, wenn Sie zum Beispiel zur Synchronisation zwischen dem Menü und einer eingefügten Symbolleiste die Klasse Action einsetzen wollen. Im Kapitel '13.5 Menü und Symbolleiste (Toolbar) ' erfahren Sie, wie man diese Synchronisation realisiert.

Anschließend müssen Sie zu den einzelnen Menüeinträgen den Programm-Quelltext eingeben, der beim Anklicken eines Menüpunkts ausgeführt werden soll.

Abbildung 13.2.4: Auswahl Menüeintrag 'Beenden'

Klicken Sie dazu im Menü im Formular auf den Eintrag, dem Sie Code als Ereignisbehandlungsprozedur hinzufügen wollen; zum Beispiel für das mnu15Close_Click()-Ereignis:

Public Sub mnu15Close_Click()
  FHelp.Close
  FMain.Close
End ' mnu15Close_Click()

Weitere Prozeduren (Auswahl):

Public Sub mnu11Open_Click()
  ImageOpen()
  mnu14Print.Enabled = True
End ' mnu11Open_Click()
 
Public Sub mnu15Close_Click()
  FHelp.Close
  FMain.Close
End ' mnu15Close_Click()
 
Public Sub mnu23PreView_Click()
  If mnu23PreView.Checked = True Then
     Message.Info("Vorschau anzeigen oder" & gb.NewLine & "Vorschaubild generieren oder...")
  Endif ' Checked = True
End ' mnu23PreView_Click()
 
Public Sub mnu31Help_Click()
  FHelp.Show
End ' mnu31Help_Click()
 
Public Sub mnu32Web_Click()
  Desktop.Open("http://www.gambas-buch.de/dw/doku.php?id=k13:start")
End ' mnu32Web_Click()

Beachten Sie, dass Sie nicht allen Menüeinträgen auch Prozeduren zuordnen können. Das trifft zum Beispiel auf alle Einträge der Ebene 0 zu sowie auf Einträge, die weitere Einträge als (Unter-)Menüs wie bei mnu22SelectColor enthalten.

Ob Sie Eintragungen im Textfeld Tag (Datentyp Variant) vornehmen hängt davon ab, ob Sie diese Eintragung später im Programm auch auswerten und in Abhängigkeit vom Auswertungsergebnis reagieren.

Im Beispiel FNotepad 3.0.0 in den Gambas-Beispielen wird demonstriert, dass Sie zur Laufzeit des Programms die Auswahl eines Menüs auch über ALT+unterstrichener_Buchstabe vornehmen können, wenn Sie beim Eintrag 'Caption' dem ausgewählten Buchstaben ein &-Zeichen voranstellen. Die Kombination ALT+a zum Beispiel ruft den Speichern-Dialog auf:

Menue_2

Abbildung 13.2.5: (Teil-)Ansicht3 des Menü-Editors

Download

Artikel

Download

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

Seiten-Werkzeuge