Die Menubar-Klasse (Menüleiste) dient zur Verwaltung von einer Menüleiste, die über das Attribut Window.Menubar an Fenster angehängt werden kann. Eine Menüleiste enthält eine Anzahl von Elementen, die Objekte der Menu-Klasse sind, wobei jedes von ihnen genau ein Menü beschreibt.
In einer XML-Datei wird ein Menübaum mit den Tags <menubar>
,
<menu>
und <item>
definiert. Hier ist eine
Beispiel-Definition einer einfachen Menüleiste:
<menubar id="mymenubar"> <menu title="_File"> <item>_New...</item> <item>_Open...</item> <item/> <item>_Save</item> <item>S_ave as...</item> <item/> <item>_Quit</item> </menu> <menu title="Edit"> <item shortcut="Ctrl+X">_Cut</item> <item shortcut="Ctrl+C">C_opy</item> <item shortcut="Ctrl+V">_Paste</item> </menu> <menu title="?"> <item>Se_ttings...</item> <item/> <item>A_bout...</item> <item>About _RapaGUI...</item> </menu> </menubar> |
Beachten Sie die Verwendung des Unterstrichzeichens im obigen XML-Code: Sie können dieses Zeichen verwenden, um das nächste Zeichen automatisch als Tastaturkürzel für den Menüeintrag zu kennzeichnen. Dies ist sehr nützlich, da viele Leute gerne die Tastatur anstelle der Maus benutzen, besonders wenn es darum geht, die gleichen Aktionen mehrmals zu wiederholen. Daher ist es immer eine gute Idee, Tastaturkürzel einzurichten. Siehe Tastaturkürzel für Details.
Wenn Sie komplexere Tastaturkürzel benötigen, z.B. Ctrl+V
zum Einfügen, können Sie das Attribut Menuitem.Shortcut
verwenden, um eine solche Verknüpfung einzurichten. Beachten Sie,
dass auf einigen Plattformen (z.B. Windows) beide Arten von
Verknüpfungen gleichzeitig angegeben werden können: Verknüpfungen,
die mit dem Unterstrichzeichen angegeben werden, und Verknüpfungen,
die mit dem Menuitem.Shortcut definiert werden. Wenn
eine bestimmte Plattform nur eine Art von Verknüpfung unterstützt,
hat die in Menuitem.Shortcut angegebene Verknüpfung
Vorrang vor der mit dem Unterstrichzeichen.
Beachten Sie auch die leeren <item/>
im obigen XML-Code:
Diese fügen eine Trennlinie in den Menübaum ein. Die Verwendung
von Trennlinien macht Ihr Menü für den Endbenutzer besser lesbar.
Nachdem Sie die XML-Definition oben geschrieben haben, können
Sie die Menüleiste zu einem Ihrer Fenster hinzufügen, indem
Sie das Attribut Window.Menubar wie folgt verwenden:
<window menubar="mymenubar"> ... </window> |
Es ist sehr wichtig zu beachten, dass Sie Ihre Menüleisten im
Bereich <application>
definieren müssen, da Menüleisten
globale Objekte sind und erst später an Fenster oder Widgets
angehängt werden. Deshalb ist es nicht erlaubt, Menüleisten
innerhalb eines <window>
XML-Bereichs zu definieren.