Freigeben über


Anzeigen des Menübands

Das Windows-Menübandframework macht eine Reihe von Eigenschaften verfügbar, mit denen eine Anwendung angeben kann, wie die Menübandbenutzeroberfläche zur Laufzeit angezeigt wird.

Einführung

Um den verfügbaren Bereich für den Dokumentbereich (oder ansichtsport) einer Menüband-Frameworkanwendung zu maximieren, kann eine Anwendung angeben, ob die Menübandbenutzeroberfläche sichtbar oder ausgeblendet ist und ob sich das Menüband in einem erweiterten oder reduzierten Zustand befindet.

Die in der folgenden Tabelle aufgeführten Framework-Eigenschaftenschlüssel werden verwendet, um die Anzeigemerkmale der Menübandbenutzeroberfläche in einer Menübandframeworkanwendung explizit festzulegen. Diese Eigenschaften haben keine Auswirkungen auf die Anzeige des Kontext-Popup-Steuerelements .

Anzeigezustand Menüband-Eigenschaftenschlüssel
Erweitert oder reduziert UI_PKEY_Minimized
Sichtbar oder ausgeblendet UI_PKEY_Viewable

 

Minimieren des Menübands

Eine Menübandframeworkanwendung kann den minimierten Zustand der Menübandbefehlsleiste dynamisch festlegen, indem der Wert des UI_PKEY_Minimized Eigenschaftenschlüssels auf true oder false festgelegt wird.

Anzeigezustand Eigenschaftsschlüsselwert
Expanded false
Reduziert true

 

Wenn sich die Menübandbenutzeroberfläche in einem minimierten Zustand befindet, bleibt die Registerkartenzeile des Menübands sichtbar und voll funktionsfähig.

Der folgende Screenshot zeigt das Menüband im minimierten Zustand.

Screenshot: Minimierte Menüband-Benutzeroberfläche

Hinweis

Das Menübandframework macht diese Funktionalität dem Endbenutzer über die Auswahl "Menüband minimieren" im Kontextmenü des Menübands verfügbar.

 

Ausblenden des Menübands

Eine Menübandframeworkanwendung kann den sichtbaren Zustand der Menübandbefehlsleiste dynamisch festlegen, indem sie den Wert des UI_PKEY_Viewable Eigenschaftenschlüssels auf true oder false festlegen.

Anzeigezustand Eigenschaftsschlüsselwert
Sichtbar false
Ausgeblendet true

 

Im Gegensatz zur UI_PKEY_Minimized-Eigenschaft rendert die Einstellung UI_PKEY_Viewable auf false die Menübandbenutzeroberfläche unsichtbar und für einen Endbenutzer vollständig unbrauchbar.

Der folgende Screenshot zeigt das Menüband im ausgeblendeten Zustand.

Screenshot mit ausgeblendeter Menüband-Benutzeroberfläche.

Beispiel

Im folgenden Beispiel wird veranschaulicht, wie der Status der Menüband-Benutzeroberfläche zur Laufzeit festgelegt wird.

In diesem Fall wird die IUICommandHandler::Execute-Funktion verwendet, um die Menübandbenutzeroberfläche basierend auf dem Umschaltzustand einer Umschaltfläche zu erweitern oder zu reduzieren.

//
//  FUNCTION: Execute()
//
//  PURPOSE: Called by the Ribbon framework when a Command is executed 
//           by the user. 
//           This example demonstrates a handler for a Toggle Button
//           that sets the minimized state of the ribbon UI.
//
//  NOTES: g_pFramework is a global pointer to an IUIFramework object 
//         that is assigned when the Ribbon framework is initialized.
//
//         g_pRibbon is a global pointer to the IUIRibbon object
//         that is assigned when the Ribbon framework is initialized.
//
STDMETHODIMP CCommandHandler::Execute(
    UINT nCmdID,
    UI_EXECUTIONVERB verb,
    __in_opt const PROPERTYKEY* key,
    __in_opt const PROPVARIANT* ppropvarValue,
    __in_opt IUISimplePropertySet* pCommandExecutionProperties)
{
    HRESULT hr = E_FAIL;

    if (verb == UI_EXECUTIONVERB_EXECUTE)
    {
        switch (nCmdID)
        {
            // Minimize ribbon Command handler.
            case IDR_CMD_MINIMIZE:
                if (g_pFramework)
                {
                    IPropertyStore *pPropertyStore = NULL;
                    hr = g_pRibbon->QueryInterface(__uuidof(IPropertyStore), 
                                                   (void**)&pPropertyStore);
                    if (SUCCEEDED(hr))
                    {
                        if (ppropvarValue != NULL)
                        {
                            // Is the ToggleButton state on or off?
                            BOOL fToggled;
                            hr = UIPropertyToBoolean(*key, *ppropvarValue, &fToggled);

                            if (SUCCEEDED(hr))
                            {
                                // Set the ribbon display state based on the toggle state.
                                PROPVARIANT propvar;
                                PropVariantInit(&propvar);
                                UIInitPropertyFromBoolean(UI_PKEY_Minimized, 
                                                          fToggled, 
                                                          &propvar);
                                hr = pPropertyStore->SetValue(UI_PKEY_Minimized, 
                                                              propvar);
                                pPropertyStore->Commit();
                            }
                            pPropertyStore->Release();
                        }
                    }
                }
                break;
        }
    }
    return hr;
}

Menübandeigenschaften