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.

Menus und Menüleisten sind heute Standard der Common User Access.

Grafische Benutzeroberfläche

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.

Grundlegende Menüs

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“

  • Datei (Linux, Microsoft) / Ablage (Apple): Grundfunktionen wie Öffnen und Speichern von Dateien, Drucken, Beenden der Anwendung selbst
  • Bearbeiten: Rückgängig/Wiederherstellen, Kopieren und Einfügen, Auswahl/Markieren, Funktionen, die sich auf die markierten Inhalte des Programmfensters beziehen, meist auch Suchfunktionen
  • Ansicht (Linux, Microsoft) / Darstellung (Apple): Zoom (Maßstab), Aktualisieren, Vollbild und Ähnliches
  • Extras/Optionen/Einstellungen: Ein Menü über die Programmkonfiguration, sonstige Programmfunktionen
  • Hilfe: Hilfeseite und/oder Onlinehilfe, Versionsinformation („über“), Aktualisierung

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

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.

Weitere Menüarten

  • Kontextmenü: ein Menü mit einer vom Ort des Maus-Rechtsklicks abhängigen Bestückung an Menüpunkten
  • Tortenmenü: kreisförmige Anordnung der Menüpunkte
  • 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ängten Auslassungspunkte, dass bei Anwahl ein weiterer Dialog folgt, in dem der Anwender weitere Eingaben machen kann oder muss. 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

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 Programmiersprache C# 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).

using System.Windows.Forms;

public class MainForm : System.Windows.Forms.Form
{
	private System.Windows.Forms.MenuStrip mainMenuStrip;
	
	private System.Windows.Forms.ToolStripMenuItem fileToolStripMenuItem, editToolStripMenuItem, imageToolStripMenuItem, optionsToolStripMenuItem, viewToolStripMenuItem, helpToolStripMenuItem;
	private System.Windows.Forms.ToolStripMenuItem openToolStripMenuItem;
	private System.Windows.Forms.ToolStripMenuItem slideshowToolStripMenuItem;
	private System.Windows.Forms.ToolStripMenuItem searchFilesToolStripMenuItem;
	
	// Konstruktor des MainForms.
	public MainForm()
	{
		InitializeMenuStrip();
	}
	
	// Startet die Anwendung und erzeugt das MainForm durch Aufruf des Konstruktors.
    public static void Main()
    {
        Application.Run(new MainForm());
    }
	
	// Initialisiert die Menüleiste.
	private void InitializeMenuStrip()
	{
		// Erzeugt die Menüleiste, die Menüelemente und die Untermenüelemente durch Aufruf der Standardkonstruktoren.
		
		mainMenuStrip = new System.Windows.Forms.MenuStrip(); // Menüleiste
		
		fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); // Menüelement
		
		openToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); // Untermenüelement
		slideshowToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); // Untermenüelement
		searchFilesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); // Untermenüelement
		
		editToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); // Menüelement
		imageToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); // Menüelement
		optionsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); // Menüelement
		viewToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); // Menüelement
		helpToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); // Menüelement
		
		SuspendLayout();
		
		mainMenuStrip.SuspendLayout();
		// Fügt der Menüleiste die Menüelemente als Array hinzu.
		mainMenuStrip.Items.AddRange(new System.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(new System.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 (ToolStripMenuItem toolStripMenuItem in fileToolStripMenuItem.DropDownItems)
		{
			toolStripMenuItem.Click += new System.EventHandler(ToolStripMenuItem_Clicked);
		}
	}
	
	// Diese Methode wird aufgerufen, wenn der Benutzer auf ein Menüelement des Dropdown Menüs klickt.
	private void ToolStripMenuItem_Clicked(object sender, System.EventArgs e)
	{
		Form newForm = new Form(); // Erzeugt ein neues Fenster durch Aufruf des Standardkonstruktors.
		ToolStripMenuItem toolStripMenuItem = (ToolStripMenuItem) sender; // Typumwandlung der Variable sender vom Typ object in den abgeleiteten Typ ToolStripMenuItem
		newForm.Text = toolStripMenuItem.Text; // Setzt die Beschriftung des Fensters gleich der Beschriftung des Menüelements.
		newForm.ShowDialog(); // Zeigt das Fenster als modaler Dialog an.
	}
}

Siehe auch

Einzelnachweise

  1. Computer Hope: Submenu
  2. developer.apple.com: Menu and Menu Item Titles
  3. Microsoft Docs: Menu Class
Commons: Menus (GUI) – Sammlung von Bildern, Videos und Audiodateien
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.