Menüelemente und Tastenkürzel: uimenu()

Wie Sie in den vorangegangenen Beispielen erkennen konnten, hat das Figure-Fenster standardisierte Menüelemente. Diese Menüelemente sind für den Standard-Plot eventuell notwendig, könnten aber bei einer selbstentwickelten GUI stören. Wir wollen eigene Menüelemente erzeugen und Tastenkürzel dafür festlegen. Das funktioniert mit uimenu().

Angesprochen wird uimenu() ähnlich wie uicontrol(). Die Menüelemente stehen, ebenso wie bei den Grafikelementen, in einer Eltern-Kind Beziehung. Übergibt man als Handle nicht die aktuelle Figure, sondern ein vorhandenes Menüelement, so wird das neue Element ein untergeordnetes Element des übergebenen Handles (siehe Abbildung).

Während 'Callback', 'Tag' und 'Position' als Properties ihre Bedeutung behalten, sollten Sie auch folgende Properties kennen:

 


Beschreibung Datentyp
'Parent' beinhaltet das Eltern - Menüobjekt String
'Accelerator'
Tastenkürzel für oft benutzte Menüfunktionen (z.B. Strg + C für copy). Die Strg-Taste wird automatisch zugeordnet. char
'Label' dargestellter Namen des Menü - Objektes, entspricht dem String der Uicontrol()
String

Ein Beispiel für eine uimenu() - Struktur:

>> dateiHandle = uimenu(figureHandle,'Label','Datei','Tag','datei');
%figureHandle repräsentiert hier logischerweise das Handle für das Eltern-Menüobjekt figure
>> saveHandle = uimenu(dateiHandle,'Label','Speichern','Tag','save',...
'Accelerator','s','Callback','SaveCallbackFunction');
%die Funktion SaveCallbackFunction muss existieren

>> quitHandle = uimenu(dateiHandle,'Label','Beenden','Tag','quit', ...
'Accelerator','q','Callback','delete(gcf)');

Mit der Property MenuBar sind die voreingestellten Menüeinträge entfernbar:
>> set(figureHandle,'Menubar','none')