다음을 통해 공유


리본 메뉴 표시

Windows 리본 프레임워크는 애플리케이션이 런타임에 리본 UI가 표시되는 방식을 지정할 수 있는 속성 집합을 노출합니다.

소개

리본 프레임워크 애플리케이션의 문서 공간(또는 보기 포트)에 사용할 수 있는 영역을 최대화하기 위해 애플리케이션은 리본 UI를 표시할지 숨길지 여부와 리본이 확장된 상태인지 축소 상태인지 여부를 지정할 수 있습니다.

다음 표에 나열된 프레임워크 속성 키 는 리본 프레임워크 애플리케이션에서 리본 UI의 표시 특성을 명시적으로 설정하는 데 사용됩니다. 이러한 속성은 컨텍스트 팝업 컨트롤의 표시에 영향을 주지 않습니다.

표시 상태 리본 속성 키
확장 또는 축소됨 UI_PKEY_Minimized
표시 또는 숨김 UI_PKEY_Viewable

 

리본 메뉴 최소화

리본 프레임워크 애플리케이션은 UI_PKEY_Minimized 속성 키의 값을 true 또는 false로 설정하여 리본 명령 모음의 최소화된 상태를 동적으로 설정할 수 있습니다.

표시 상태 속성 키 값
Expanded false
Collapsed true

 

리본 UI가 최소화된 상태이면 리본 탭 행이 계속 표시되고 완벽하게 작동합니다.

다음 스크린샷은 최소화된 상태의 리본 메뉴를 보여 줍니다.

최소화된 리본 UI를 보여 주는 스크린샷

참고

리본 프레임워크는 리본 상황에 맞는 메뉴의 "리본 최소화" 선택을 통해 최종 사용자에게 이 기능을 노출합니다.

 

리본 메뉴 숨기기

리본 프레임워크 애플리케이션은 UI_PKEY_Viewable 속성 키의 값을 true 또는 false로 설정하여 리본 명령 모음의 보기 가능한 상태를 동적으로 설정할 수 있습니다.

표시 상태 속성 키 값
표시 false
숨김 true

 

UI_PKEY_Minimized 속성과 달리 UI_PKEY_Viewablefalse로 설정하면 리본 UI가 보이지 않고 최종 사용자에게 완전히 사용할 수 없게 됩니다.

다음 스크린샷은 숨겨진 상태의 리본 메뉴를 보여 줍니다.

숨겨진 리본 UI를 보여 주는 스크린샷

예제

다음 예제에서는 런타임에 리본 UI의 상태를 설정하는 방법을 보여 줍니다.

이 경우 IUICommandHandler::Execute 함수는 토글 단추의 토글 상태에 따라 리본 UI를 확장하거나 축소하는 데 사용됩니다.

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

리본 속성