Einführung in das Windows-Menübandframework

Das Windows-Menübandframework ist ein umfangreiches Befehlspräsentationssystem, das eine moderne Alternative zu den mehrstufigen Menüs, Symbolleisten und Aufgabenbereichen herkömmlicher Windows-Anwendungen bietet.

Ein neues Befehlsparadigma

Das Menübandframework ist eine Sammlung von Microsoft Win32-APIs, die eine Vielzahl neuer Benutzeroberflächenfunktionen für Windows-Entwickler unterstützen.

Dieses umfangreiche, moderne Ui-Befehlsframework bietet Folgendes:

  • Einfache Implementierung für brandneue Ribbon-Framework-Anwendungen und einfache Migration vorhandener Win32-Anwendungen.
  • Einheitliche Darstellung und Einheitliches Verhalten in Menübandanwendungen.
  • Einhaltung der Windows-Benutzeroberflächenrichtlinien für eine erstklassige Windows-Benutzeroberfläche durch Barrierefreiheitsstandards, Unterstützung für visuelle Stile (Design), automatische Anpassungen mit hohem Kontrast und bewusstsein für hohe Punkte pro Zoll (DPI).

Das Menübandframework besteht aus zwei primären Ui-Komponenten:

  • Die Menübandbefehlsleiste, die aus der Symbolleiste für den Schnellzugriff (QAT) besteht, die verschiedene Menübandbefehle verfügbar macht und hervor hebt, wie vom Benutzer oder der Anwendung angegeben, sowie eine Registerkartenzeile, die das Anwendungsmenü, standard- oder kontextbezogene Registerkarten und eine Hilfeschaltfläche enthält.
  • Ein umfangreiches Kontextmenüsystem.

Eine Kombination aus deklarativem XML und nativen COM-Schnittstellen wird verwendet, um die Darstellung und Funktionalität dieser Komponenten zu entkoppeln.

Sichten

Die primären Ui-Komponenten des Menübandframeworks, die Menübandbefehlsleiste und das Kontextmenüsystem, werden strukturell durch Ansichten unterschieden. Das Framework unterstützt zwei Ansichten: die Menübandansicht und die ContextPopup-Ansicht .

Die Menübandansicht

Die Benutzeroberfläche der Menübandansicht ist das primäre Feature des Menübandframeworks und bietet die Benutzeroberfläche der nächsten Generation für die Darstellung von Befehlen in Windows-Anwendungen.

Das Menüband ist eine Befehlsleiste, die die hauptfeatures einer Anwendung über eine Reihe von Registerkarten am oberen Rand eines Anwendungsfensters verfügbar macht. Es ähnelt in Funktionalität und Aussehen der Microsoft Office 2007 Fluent-Benutzeroberfläche. Das Menüband bietet einen intuitiven Kontrapunkt zum Test-und-Fehler-Prozess der Befehlsermittlung, der typisch für Windows-Standardmenüsysteme ist. Das Menüband ist für Effizienz und Auffindbarkeit optimiert und erleichtert das Suchen, Verstehen und Verwenden von Befehlen mit minimalen Mausklicks und Tastatureingaben über ein System von Standardsteuerelementen, Katalogen und Livevorschauen.

Die folgende Abbildung veranschaulicht die Implementierung des Menübandframeworks in Paint für Windows 7.

Screenshot der Menübandimplementierung in Paint für Windows 7.

Die ContextPopup-Ansicht

Die ContextPopup-Ansicht bietet über das Kontext-Popup-Steuerelement ein umfangreicheres Kontextmenüsystem als bei früheren Windows-Anwendungen. Ein Kontext-Popup kann nur zur Unterstützung eines Menübands bereitgestellt werden, ein eigenständiges Kontext-Popup wird vom Menübandframework nicht unterstützt.

Menübandarchitektur

Im Gegensatz zum herkömmlichen steuerelementbasierten Windows-Ui-Entwicklungsmodell basiert die Entwicklung des Windows-Menübandframeworks auf dem abstrakteren Konzept von Befehlen. Durch den Fokus auf die Befehle, die Steuerelementen zugeordnet sind, und nicht auf die Steuerelemente selbst, kann das Framework die Benutzeroberfläche automatisch anpassen, wie erforderlich als Reaktion auf den Befehlsausführungsstatus, der von der Menübandhostanwendung abgerufen wird.

Eine Anwendung, die das Menübandframework verwendet, macht Befehle verfügbar, ohne mit den Details der Darstellung dieses Befehls auf der Benutzeroberfläche belastet zu werden. Dies wird manchmal als absichtsbasiertes UI-Modell bezeichnet. Der Befehlstyp, seine Eigenschaften und seine Ressourcen definieren die Absicht des Befehls für die Anwendung. Beispielsweise können Mauseingaben, Tastatureingaben oder sogar das Schütteln eines Gyroskopgeräts zur Ausführung desselben Befehls führen, den die Anwendung nur mit der Ausführung des Befehls befasst, nicht mit der Art und Weise, wie er aufgerufen wurde.

Das Menübandframework bietet diese Flexibilität, indem funktionalität und Präsentation mit zwei unterschiedlichen Entwicklungsstrukturen getrennt werden: eine XAML-basierte Markupsprache (Extensible Application Markup Language) zum Deklarieren von Steuerelementen und das visuelle Layout einer Menübandimplementierung sowie combasierte C++-Schnittstellen zum Initialisieren des Frameworks und behandeln Ereignisse zur Laufzeit. Diese Unterscheidung ermöglicht es Ui-Entwicklern und Designern, allein für das Aussehen einer Menübandanwendung verantwortlich zu sein, während die Kernfunktionen die Domäne von Softwareentwicklern bleiben.

Weitere Informationen finden Sie unter Grundlegendes zu Befehlen und Steuerelementen.

Die Menüband-APIs

Die Menüband-APIs stellen die erforderlichen Verbindungen zwischen einer Ansicht und der Menübandhostanwendung bereit. Diese APIs bestehen aus den folgenden Schnittstellen und Eigenschaftenschlüsseln:

  • Eine Reihe von COM-Schnittstellen, die vom Menübandframework zum Ausführen von UI-Diensten implementiert werden.

    Schnittstelle Beschreibung
    IUIContextualUI Definiert die Methoden für die Kernfunktionalität der ContextPopup-Ansicht .
    IUIFramework Definiert die Methoden, die die Kernfunktionen der Menüband- und ContextPopup-Ansichten unterstützen.
    IUIRibbon Definiert die Methoden zum Angeben von Einstellungen und Eigenschaften für eine Menübandansicht .
    IUISimplePropertySet Definiert eine Methode zum Abrufen des durch einen Eigenschaftenschlüssel identifizierten Werts. Diese Schnittstelle wird vom Menübandframework implementiert und auch von der Hostanwendung für jedes Element im IUICollection-Objekt eines Elementkatalogs implementiert.
    Wenn sie von der Hostanwendung implementiert wird, wird die von dieser Schnittstelle definierte Methode verwendet, um einen Eigenschaftsschlüsselwert für das ausgewählte Element in der IUICollection abzurufen.
    IUICollection Definiert die Methoden zum dynamischen Bearbeiten von sammlungsbasierten Steuerelementen, z. B. die Menüband-QAT und sammlungsbasierte Kataloge, zur Laufzeit.
    IUIImage Definiert die Methode zum Abrufen eines Bilds zur Anzeige auf der Menübandbenutzeroberfläche.
    IUIImageFromBitmap Definiert die Factorymethode zum Erstellen eines IUIImage-Objekts .
  • Eine Reihe von COM-Schnittstellen, die von der Menübandhostanwendung implementiert werden, die das Framework als Reaktion auf Benutzeroberflächenänderungen aufruft.

    Schnittstelle Beschreibung
    IUIApplication Definiert die Einstiegspunktmethoden für den Anwendungsrückruf für das Menübandframework.
    IUICommandHandler Definiert die Methoden zum Sammeln von Befehlsinformationen und zum Behandeln von Befehlsereignissen aus dem Menübandframework.
    IUICollectionChangedEvent Definiert die Methode, die zum Behandeln von Änderungen an einer Auflistung zur Laufzeit erforderlich ist.
  • Ein Satz von Eigenschaftenschlüsseln, die definieren, welche Ui-Eigenschaften die Anwendung programmgesteuert steuern kann.

    Eigenschaftenschlüsseltyp BESCHREIBUNG
    Sammlung Definiert Eigenschaften für menübandbasierte Steuerelemente.
    Farbauswahl Definiert Eigenschaften für Steuerelemente für die Farbauswahl des Menübands.
    Schriftart Definiert Eigenschaften für das Menüband FontControl.
    Global Definiert globale Eigenschaften für das Menübandframework.
    Ressource Definiert Eigenschaften der Menübandressourcen.
    Bändchen Definiert Eigenschaften der Menübandansicht.
    State Definiert Eigenschaften für den Zustand oder den Kontext des Menübandsteuerelements.

Sicherheit und Datenschutz

Die Menübandframework-DLL (uiribbon.dll) wird prozessintern ausgeführt und verfügt über die gleichen Berechtigungen wie die Hostanwendung. Das Menüband akzeptiert nur das, was die Hostanwendung als Eingabe oder Benutzereingabe aus eng eingeschränkten Steuerelementen wie dem Kombinationsfeld "Spinner" und "Editable" bereitstellt.

Darüber hinaus speichert das Framework keine Informationen dauerhaft, außer was von der Hostanwendung bereitgestellt oder (wie vom Endbenutzer autorisiert) über das opt-in-Windows-Programm zur Benutzerfreundlichkeit gesammelt wird.

Barrierefreiheit und Lokalisierung

Um eine leicht zugängliche Benutzeroberfläche bereitzustellen, implementiert das Menübandframework Microsoft Active Accessibility. Durch das automatische Auffüllen relevanter Microsoft Active Accessibility-Eigenschaften mit gültigen und hilfreichen Informationen reduziert das Framework die Belastung für Entwickler erheblich, um allen Benutzern eine inklusive Benutzeroberfläche zu bieten.

Weitere Informationen zur Barrierefreiheit im Menübandframework finden Sie unter Arbeiten mit aktiver Barrierefreiheit in der Office Fluent-Benutzeroberfläche 2007.

Darüber hinaus ist das Menübandframework ein Windows-Feature und als solches für alle Von Windows unterstützten Sprachen lokalisiert. Entwickler sind jedoch für die Lokalisierung ihrer eigenen spezifischen Anwendungsressourcen verantwortlich.

Zusammenfassung

Das Menüband ist eine neue und ansprechende Form der Befehlspräsentation, die Anwendungsentwickler, Architekten und Designer beim Entwerfen und Erstellen neuer Anwendungen oder beim Aktualisieren vorhandener Anwendungen in Betracht ziehen sollten.

Im Windows-Menübandentwicklungsforum können Sie Themen diskutieren und Fragen im Zusammenhang mit der Entwicklung von Anwendungen stellen, die das Windows-Menübandframework implementieren.

Deklarieren von Befehlen und Steuerelementen mit Menübandmarkup

Richtlinien für die Benutzeroberfläche des Menübands

Menübandentwurfsprozess