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 | 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)
Den Menü-Editor starten Sie
Abbildung 13.2.1: (Teil-)Ansicht des Menü-Editors
Beim Anlegen einer Menü-Struktur haben sich folgende Arbeitsschritte bewährt:
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:
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:
Abbildung 13.2.5: (Teil-)Ansicht3 des Menü-Editors
Artikel