Beispiel eines Menüs als Teil einer Menüleiste einer grafischen Anwendung. Das Menü Datei ist aktiviert und „ausgeklappt“ oder „ausgerollt“. Daneben sind die Menüs Bearbeiten, Ansicht und Einfügen usw. in der Menüleiste aufgereiht.
Ein Menü ist ein Steuerelement und eine Form der interaktiven Benutzerführung bei Computerprogrammen mit grafischer, zeichenorientierter oder seltener sprachorientierter Benutzeroberfläche (GUI, TUI bzw. VUI), worüber eine Option aus einem Angebot von Funktionen, Routinen oder Unterprogrammen auswählbar ist und die ausgewählte Option anschließend auch abgerufen wird; daher der aus dem englischen Begriff menu für Speisekarte abgeleitete Name.
Menüleisten fassen Menüs zusammen, zumeist horizontal in Leserichtung hintereinander.
Menüs sind in der Regel hierarchisch in Menüleisten am Fensterrand zusammengefasst, die die Befehle unter Schlüsselbegriffen oder -symbolen zusammenfassen. Werden diese Begriffe angewählt, öffnet sich eine Liste, das Dropout-Menü mit den zugehörigen Menüpunkten, die dann Kommandos (Programme, Module, Aktionen des Programms) auslösen. Spezielle Untermenüpunkte führen keine Funktion direkt aus, sondern öffnen eine weitere Menüebene, als weiteres Dropout, als Pop-up-Menü oder als Dialogfenster.
Oft sind die für den Anwender wichtigsten Funktionen aufgeführt, die das entsprechende Betriebssystem oder Anwendungsprogramm bietet. Eine Variante ist eine Leiste mit Icons, die Symbolleiste, die weniger für hierarchische Auswahl, sondern direkte Kommandos konzipiert ist. Mischformen sind üblich, zum Beispiel Drop-outs aus Icons, Menülisten mit Icon oder Text.
Manche Buchstaben werden durch Unterstreichung des Anfangsbuchstabens der Option als Merkhilfe (Mnemonic) hervorgehoben und können für die schnelle Auswahl mittels Tastatur verwendet werden (z. B.: Datei) und können dann über Tastenkürzel schnell angewählt werden.
Auf Anwendungsebene haben sich für die grundlegenden Programmfunktionen einige typische Menüs als Standard etabliert, sind meist direkt unter der Titelzeile in der Menüzeile angeordnet und haben in der Regel immer dieselbe Reihenfolge: „Datei“ – „Bearbeiten“ – „Ansicht“ – (programmspezifische Menüs) – Extras/Optionen – „Hilfe“
Bearbeiten: Rückgängig/Wiederherstellen, Kopieren und Einfügen, Auswahl/Markieren, Funktionen, die sich auf die markierten Inhalte des Programmfensters beziehen, meist auch Suchfunktionen
Dann finden sich noch zahlreich spezifische Menüs je nach Sparte der Anwendung, etwa Formatmenüs in der Textverarbeitung, Lesezeichen / Favoriten bei Webbrowsern und entsprechendes.
Auf dem Desktop sind die Menüs der Taskleiste, der grundlegenden Symbol- und Statusleiste verbreitet, insbesondere ein Programmmenü, das bei Windows-Systemen Startmenü genannt wird.
Untermenüs
Beispiel für Menü mit ausgeklapptem Untermenü.
Ein Untermenü ist ein Begriff, der verwendet wird, um ein Menü zu beschreiben, das in einem anderen Menü enthalten ist. Beispielsweise wird in den meisten Programmen ein Untermenü häufig durch einen kleinen Pfeil gekennzeichnet, der am Rand der Option nach rechts zeigt. Benutzer, die über die Tastatur in einem Menü navigieren, können durch Drücken der rechten Pfeiltaste auf ein Untermenü zugreifen oder das Untermenü durch Drücken der linken Pfeiltaste reduzieren.[1]
Bang-Menü: befindet sich direkt in der Menüleiste ein Menüpunkt bzw. eine Schaltfläche, die direkt eine Programmfunktion aufruft, statt ein Menü aufzuklappen
Hamburger-Menü-Icon: Ein Icon, das die komplette Menüstruktur eines Programmes enthält und üblicherweise die Menüleiste ersetzt.
Verwendung angehängter Auslassungspunkte
In Menüfunktionen oder Schaltflächen bedeuten angehängte Auslassungspunkte, dass bei Anwahl ein weiterer Dialog folgt, in dem der Anwender weitere Eingaben machen kann oder muss.[2] Fehlt die Ellipse, dann ist die Funktion mit der Anwahl schon ausgeführt.
„Speichern“ – es wird ohne weitere Eingabe die geöffnete Datei überschrieben.
„Speichern unter…“ – im folgenden Dialog kann z. B. ein anderer Speicherort bzw. Dateiname oder ein anderes Dateiformat gewählt werden.
Zeichenorientierte Benutzeroberfläche
Beispiel eines einfachen Menüs für zeichenorientierte Benutzeroberfläche aus dem Jahre 1987 (Auswahl durch Eingabe einer oder zwei Ziffern)Variante (Auswahl über Cursortasten bzw. Maus)
Bei einer zeichenorientierten Benutzeroberfläche besteht die einfachste Realisierung eines Menüs in der Anzeige einer Liste von Auswahlmöglichkeiten, denen jeweils ein Kürzel (Ziffer, Zahl oder Buchstabe) zugeordnet ist. Die Auswahl des gewünschten Menüpunktes erfolgt durch Eingabe des entsprechenden Kürzels.
Eine anspruchsvollere Umsetzung erlaubt eine Navigation durch die Menüpunkte mit Hilfe der Cursortasten oder der Maus, gegebenenfalls in zwei Dimensionen, wobei Menüpunkte erscheinen bzw. verschwinden. Das Verhalten entspricht damit der bei grafische Benutzeroberflächen üblichen Lösung. Der aktuelle Menüpunkt wird hervorgehoben dargestellt und kann durch Drücken der Enter-Taste ausgewählt werden.
Programmierung
C#
Das folgende Beispiel in der ProgrammierspracheC# zeigt die Implementierung eines Hauptfensters mit einer Menüleiste, die Menüs und ein Untermenü beinhaltet. Das Klick-Ereignis der Menüelemente des Untermenüs ist mit einer Ereignisbehandlungsroutine verknüpft, die ein neues Fenster als modaler Dialog öffnet (siehe Ereignis).[3]
usingSystem.Windows.Forms;publicclassMainForm:System.Windows.Forms.Form{privateSystem.Windows.Forms.MenuStripmainMenuStrip;privateSystem.Windows.Forms.ToolStripMenuItemfileToolStripMenuItem,editToolStripMenuItem,imageToolStripMenuItem,optionsToolStripMenuItem,viewToolStripMenuItem,helpToolStripMenuItem;privateSystem.Windows.Forms.ToolStripMenuItemopenToolStripMenuItem;privateSystem.Windows.Forms.ToolStripMenuItemslideshowToolStripMenuItem;privateSystem.Windows.Forms.ToolStripMenuItemsearchFilesToolStripMenuItem;// Konstruktor des MainForms.publicMainForm(){InitializeMenuStrip();}// Startet die Anwendung und erzeugt das MainForm durch Aufruf des Konstruktors.publicstaticvoidMain(){Application.Run(newMainForm());}// Initialisiert die Menüleiste.privatevoidInitializeMenuStrip(){// Erzeugt die Menüleiste, die Menüelemente und die Untermenüelemente durch Aufruf der Standardkonstruktoren.mainMenuStrip=newSystem.Windows.Forms.MenuStrip();// MenüleistefileToolStripMenuItem=newSystem.Windows.Forms.ToolStripMenuItem();// MenüelementopenToolStripMenuItem=newSystem.Windows.Forms.ToolStripMenuItem();// UntermenüelementslideshowToolStripMenuItem=newSystem.Windows.Forms.ToolStripMenuItem();// UntermenüelementsearchFilesToolStripMenuItem=newSystem.Windows.Forms.ToolStripMenuItem();// UntermenüelementeditToolStripMenuItem=newSystem.Windows.Forms.ToolStripMenuItem();// MenüelementimageToolStripMenuItem=newSystem.Windows.Forms.ToolStripMenuItem();// MenüelementoptionsToolStripMenuItem=newSystem.Windows.Forms.ToolStripMenuItem();// MenüelementviewToolStripMenuItem=newSystem.Windows.Forms.ToolStripMenuItem();// MenüelementhelpToolStripMenuItem=newSystem.Windows.Forms.ToolStripMenuItem();// MenüelementSuspendLayout();mainMenuStrip.SuspendLayout();// Fügt der Menüleiste die Menüelemente als Array hinzu.mainMenuStrip.Items.AddRange(newSystem.Windows.Forms.ToolStripItem[]{fileToolStripMenuItem,editToolStripMenuItem,imageToolStripMenuItem,optionsToolStripMenuItem,viewToolStripMenuItem,helpToolStripMenuItem});fileToolStripMenuItem.Text="File";// Fügt dem Menüelement mit der Beschriftung "File" die Untermenüelemente als Array hinzu.fileToolStripMenuItem.DropDownItems.AddRange(newSystem.Windows.Forms.ToolStripItem[]{openToolStripMenuItem,slideshowToolStripMenuItem,searchFilesToolStripMenuItem});openToolStripMenuItem.Text="Open";slideshowToolStripMenuItem.Text="Slideshow";searchFilesToolStripMenuItem.Text="Search files";editToolStripMenuItem.Text="Edit";imageToolStripMenuItem.Text="Image";optionsToolStripMenuItem.Text="Options";viewToolStripMenuItem.Text="View";helpToolStripMenuItem.Text="Help";Controls.Add(mainMenuStrip);// Fügt die Menüleiste dem Hauptfenster hinzu.Text="Menus example";// Setzt die Beschriftung des Hauptfensters.mainMenuStrip.ResumeLayout(false);mainMenuStrip.PerformLayout();ResumeLayout(false);PerformLayout();// Diese foreach Schleife verknüpft die Ereignisbehandlungsmethode mit dem Klick-Ereignis der Untermenüelemente.foreach(ToolStripMenuItemtoolStripMenuIteminfileToolStripMenuItem.DropDownItems){toolStripMenuItem.Click+=newSystem.EventHandler(ToolStripMenuItem_Clicked);}}// Diese Methode wird aufgerufen, wenn der Benutzer auf ein Menüelement des Dropdown Menüs klickt.privatevoidToolStripMenuItem_Clicked(objectsender,System.EventArgse){FormnewForm=newForm();// Erzeugt ein neues Fenster durch Aufruf des Standardkonstruktors.ToolStripMenuItemtoolStripMenuItem=(ToolStripMenuItem)sender;// Typumwandlung der Variable sender vom Typ object in den abgeleiteten Typ ToolStripMenuItemnewForm.Text=toolStripMenuItem.Text;// Setzt die Beschriftung des Fensters gleich der Beschriftung des Menüelements.newForm.ShowDialog();// Zeigt das Fenster als modaler Dialog an.}}
Menu-numbered-anim.gif Autor/Urheber:Phrontis,
Lizenz:CC BY-SA 3.0 Einfaches Menü für zeichenorientierte Benutzeroberfläche: die Auswahl erfolgt durch Eingabe einer Zahl.
Software: The Document Foundation Screenshot by PantheraLeo1359531,
Lizenz:GPL Dropdown-Menü unter LibreOffice unter Ubuntu 20.10.
Konqueror-5.0.97-Deutsch+Menü-Gehe zu+Gentoo-Linux+KDE-Plasma-5.18.5 2020-09-01.png Autor/Urheber: Y2kbug,
Lizenz:GPL Dieses Bildschirmfoto zeigt den Browser Konqueror (Version 5.0.97) unter KDE Plasma Desktop 5 (Version 5.18.5) mit ausgewähltem „Gehe zu“-Menü; Die Maus ist über dem Menüpunkt „Verlauf anzeigen“, wodurch dieser markiert erscheint.
Konqueror-5.0.97-Deutsch+Untermenü-Zwischenspeicher-Regelung+Gentoo-Linux+KDE-Plasma-5.18.5 2020-09-01.png Autor/Urheber: Y2kbug,
Lizenz:GPL Dieses Bildschirmfoto zeigt den Browser Konqueror (Version 5.0.97) unter KDE Plasma Desktop 5 (Version 5.18.5) mit ausgewähltem „Extras“-Menü und dessen ausgeklappten Untermenüs „HTML-Einstellungen“ und „Zwischenspeicher-Regelung“; Da die Maus auf diesem (letztgenannten) Menüpunkt verblieb, hat sich dessen Untermenü ebenfalls ausgeklappt.