Condividi tramite


Visualizzazione della barra multifunzione

Il framework della barra multifunzione di Windows espone un set di proprietà che consentono a un'applicazione di specificare la modalità di visualizzazione dell'interfaccia utente della barra multifunzione in fase di esecuzione.

Introduzione

Per ottimizzare l'area disponibile per lo spazio documento (o la porta di visualizzazione) di un'applicazione framework della barra multifunzione, un'applicazione può specificare se l'interfaccia utente della barra multifunzione è visibile o nascosta e, se visibile, se la barra multifunzione è in uno stato espanso o compresso.

Le chiavi delle proprietà del framework elencate nella tabella seguente vengono usate per impostare in modo esplicito le caratteristiche di visualizzazione dell'interfaccia utente della barra multifunzione in un'applicazione framework della barra multifunzione. Queste proprietà non hanno alcun effetto sulla visualizzazione del controllo Popup di contesto .

Stato di visualizzazione Chiave della proprietà della barra multifunzione
Espanso o compresso UI_PKEY_Minimized
Visibile o nascosta UI_PKEY_Viewable

 

Ridurre al minimo la barra multifunzione

Un'applicazione framework della barra multifunzione può impostare in modo dinamico lo stato ridotto della barra dei comandi della barra multifunzione impostando il valore della chiave della proprietà UI_PKEY_Minimized su true o false.

Stato di visualizzazione Valore chiave proprietà
Esteso false
Collapsed true

 

Quando l'interfaccia utente della barra multifunzione è ridotta a icona, la riga Della scheda della barra multifunzione rimane visibile e completamente funzionante.

Lo screenshot seguente mostra la barra multifunzione nello stato ridotto a icona.

screenshot che mostra l'interfaccia utente della barra multifunzione ridotta a icona.

Nota

Il framework della barra multifunzione espone questa funzionalità all'utente finale tramite la selezione "Riduci a icona della barra multifunzione" del menu di scelta rapida della barra multifunzione.

 

Nascondere la barra multifunzione

Un'applicazione framework della barra multifunzione può impostare in modo dinamico lo stato visualizzabile della barra dei comandi della barra multifunzione impostando il valore della chiave della proprietà UI_PKEY_Viewable su true o false.

Stato di visualizzazione Valore chiave proprietà
Visible false
Nascosto true

 

A differenza della proprietà UI_PKEY_Minimized , l'impostazione di UI_PKEY_Viewable su false rende l'interfaccia utente della barra multifunzione invisibile e completamente inutilizzabile a un utente finale.

Lo screenshot seguente mostra la barra multifunzione nello stato nascosto.

screenshot che mostra l'interfaccia utente della barra multifunzione nascosta.

Esempio

Nell'esempio seguente viene illustrato come impostare lo stato dell'interfaccia utente della barra multifunzione in fase di esecuzione.

In questo caso, la funzione IUICommandHandler::Execute viene usata per espandere o comprimere l'interfaccia utente della barra multifunzione in base allo stato di attivazione/disattivazione di un pulsante Attiva/Disattiva.

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

Proprietà della barra multifunzione