Affichage du ruban

L’infrastructure du ruban Windows expose un ensemble de propriétés qui permettent à une application de spécifier la façon dont l’interface utilisateur du ruban est affichée au moment de l’exécution.

Introduction

Pour optimiser la zone disponible pour l’espace de document (ou le port d’affichage) d’une application d’infrastructure du ruban, une application peut spécifier si l’interface utilisateur du ruban est visible ou masquée et, lorsqu’elle est visible, si le ruban est dans un état développé ou réduit.

Les clés de propriété d’infrastructure répertoriées dans le tableau suivant sont utilisées pour définir explicitement les caractéristiques d’affichage de l’interface utilisateur du ruban dans une application d’infrastructure du ruban. Ces propriétés n’ont aucun effet sur l’affichage du contrôle contextuel contextuel.

État d’affichage Clé de propriété ribbon
Développé ou réduit UI_PKEY_Minimized
Visible ou masqué UI_PKEY_Viewable

 

Réduire le ruban

Une application d’infrastructure ruban peut définir dynamiquement l’état réduit de la barre de commandes du ruban en définissant la valeur de la clé de propriété UI_PKEY_Minimized sur true ou false.

État d’affichage Valeur de la clé de propriété
Développé false
Collapsed true

 

Lorsque l’interface utilisateur du ruban est dans un état réduit, la ligne Tab du ruban reste visible et entièrement fonctionnelle.

La capture d’écran suivante montre le ruban dans un état réduit.

capture d’écran montrant l’interface utilisateur du ruban réduite.

Notes

L’infrastructure du ruban expose cette fonctionnalité à l’utilisateur final via la sélection « Réduire le ruban » du menu contextuel du ruban.

 

Masquer le ruban

Une application d’infrastructure de ruban peut définir dynamiquement l’état visible de la barre de commandes du ruban en définissant la valeur de la clé de propriété UI_PKEY_Viewable sur true ou false.

État d’affichage Valeur de la clé de propriété
Visible false
Hidden true

 

Contrairement à la propriété UI_PKEY_Minimized , le fait de définir UI_PKEY_Viewable sur false rend l’interface utilisateur du ruban invisible et complètement inutilisable pour un utilisateur final.

La capture d’écran suivante montre le ruban à l’état masqué.

capture d’écran montrant l’interface utilisateur du ruban masquée.

Exemple

L’exemple suivant montre comment définir l’état de l’interface utilisateur du ruban au moment de l’exécution.

Dans ce cas, la fonction IUICommandHandler::Execute est utilisée pour développer ou réduire l’interface utilisateur du ruban en fonction de l’état bascule d’un bouton Bascule.

//
//  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;
}

Propriétés du ruban