다음을 통해 공유


Windows 리본 프레임워크 소개

Windows 리본 프레임워크는 기존 Windows 애플리케이션의 계층화된 메뉴, 도구 모음 및 작업창에 대한 최신 대안을 제공하는 풍부한 명령 프레젠테이션 시스템입니다.

새 명령 패러다임

리본 프레임워크는 Windows 개발자를 위한 새로운 UI 기능의 호스트를 지원하는 Microsoft Win32 API 컬렉션입니다.

이 풍부한 최신 UI 명령 프레임워크는 다음을 제공합니다.

  • 새로운 리본 프레임워크 애플리케이션을 간편하게 구현하고 기존 Win32 애플리케이션을 간편하게 마이그레이션할 수 있습니다.
  • 리본 애플리케이션에서 일관된 모양 및 동작.
  • 접근성 표준, 비주얼 스타일(테마 지정) 지원, 자동 고대비 조정 및 dpi(인치당 높은 점) 인식을 통해 일류 Windows 환경에 대한 Windows UI 지침을 준수합니다.

리본 프레임워크는 두 가지 기본 UI 구성 요소로 구성됩니다.

  • 사용자 또는 애플리케이션에서 지정한 다양한 리본 명령을 노출하고 강조 표시하는 QAT(빠른 실행 도구 모음)와 애플리케이션 메뉴, 표준 또는 상황에 맞는 탭 및 도움말 단추가 포함된 탭 행으로 구성된 리본 명령 모음입니다.
  • 풍부한 상황에 맞는 메뉴 시스템입니다.

선언적 XML과 네이티브 COM 인터페이스의 조합은 이러한 구성 요소의 프레젠테이션과 기능을 분리하는 데 사용됩니다.

보기

리본 프레임워크, 리본 명령 모음 및 상황에 맞는 메뉴 시스템의 기본 UI 구성 요소는 를 통해 구조적으로 구분됩니다. 프레임워크는 리본 뷰와 ContextPopup 보기라는 두 개의 뷰를 지원합니다.

리본 보기

리본 보기의 UI는 리본 프레임워크의 기본 기능이며 Windows 애플리케이션에서 명령을 표시하기 위한 차세대 사용자 환경을 제공합니다.

리본 메뉴는 애플리케이션 창 맨 위에 있는 일련의 탭을 통해 애플리케이션의 주요 기능을 노출하는 명령 모음입니다. 기능 및 모양이 Microsoft Office 2007 Fluent UI와 비슷합니다. 리본은 표준 Windows 메뉴 시스템의 일반적인 명령 검색의 시행착오 프로세스에 대한 직관적인 카운터포인트를 제공합니다. 효율성 및 검색 가능성에 최적화된 리본 메뉴는 표준 컨트롤, 갤러리 및 라이브 미리 보기 시스템을 통해 마우스 클릭 및 키 입력이 최소인 명령을 쉽게 찾고 이해하고 사용할 수 있도록 합니다.

다음 이미지는 Windows 7용 그림판의 리본 프레임워크 구현을 보여 줍니다.

windows 7용 페인트의 리본 구현을 보여 주는 스크린샷

ContextPopup 보기

ContextPopup 보기는 컨텍스트 팝업 컨트롤을 통해 이전 Windows 애플리케이션에서 사용할 수 있는 것보다 더 풍부한 상황에 맞는 메뉴 시스템을 제공합니다. 컨텍스트 팝업은 리본을 지원하는 경우에만 배포할 수 있으며, 독립 실행형 컨텍스트 팝업은 리본 프레임워크에서 지원되지 않습니다.

리본 아키텍처

기존의 컨트롤 기반 Windows UI 개발 모델과 달리 Windows 리본 프레임워크 UI 개발은 보다 추상적인 명령 개념을 기반으로 합니다. 컨트롤 자체가 아니라 컨트롤과 연결된 명령에 초점을 맞추면 프레임워크는 리본 호스트 애플리케이션에서 검색된 명령 실행 상태에 대한 응답으로 필요에 따라 UI를 자동으로 조정할 수 있습니다.

리본 프레임워크를 사용하는 애플리케이션은 해당 명령이 UI에 표시되는 방식에 대한 세부 정보로 방해받지 않고 명령을 노출합니다. 이를 의도 기반 UI 모델이라고도 합니다. 명령 유형, 해당 속성 및 해당 리소스는 애플리케이션에 대한 명령의 의도를 정의합니다. 예를 들어 마우스 입력, 키보드 입력 또는 자이로스코프 디바이스를 흔들면 애플리케이션이 호출된 방식이 아니라 명령 실행에만 관련된 동일한 명령이 실행될 수 있습니다.

리본 프레임워크는 컨트롤을 선언하는 XAML(Extensible Application Markup Language) 기반 태그 언어와 런타임에 프레임워크를 초기화하고 이벤트를 처리하는 C++ COM 기반 인터페이스의 두 가지 고유한 개발 구조로 프레젠테이션에서 기능을 분리하여 이러한 유연성을 제공합니다. 이러한 구분을 통해 UI 개발자와 디자이너는 리본 애플리케이션의 모양을 전적으로 담당할 수 있지만 핵심 기능은 소프트웨어 엔지니어의 도메인으로 남아 있습니다.

자세한 내용은 명령 및 컨트롤 이해를 참조하세요.

리본 API

리본 API는 보기와 리본 호스트 애플리케이션 간에 필요한 연결을 제공합니다. 이러한 API는 다음 인터페이스 및 속성 키로 구성됩니다.

  • UI 서비스를 수행하기 위해 리본 프레임워크에서 구현한 COM 인터페이스 집합입니다.

    인터페이스 설명
    IUIContextualUI ContextPopup 뷰의 핵심 기능에 대한 메서드를 정의합니다.
    IUIFramework 리본ContextPopup 뷰의 핵심 기능을 지원하는 메서드를 정의합니다.
    IUIRibbon 리본 뷰의 설정 및 속성을 지정하는 메서드를 정의합니다.
    IUISimplePropertySet 속성 키로 식별되는 값을 검색하는 메서드를 정의합니다. 이 인터페이스는 Ribbon 프레임워크에 의해 구현되며 항목 갤러리의 IUICollection 개체에 있는 각 항목에 대해 호스트 애플리케이션에 의해 구현됩니다.
    호스트 애플리케이션에서 구현하는 경우 이 인터페이스에서 정의된 메서드를 사용하여 IUICollection에서 선택한 항목에 대한 속성 키 값을 검색합니다.
    IUICollection 런타임에 리본 QAT 및 컬렉션 기반 갤러리와 같은 컬렉션 기반 컨트롤을 동적으로 조작 하는 메서드를 정의합니다.
    IUIImage 리본 UI에 표시할 이미지를 검색하는 메서드를 정의합니다.
    IUIImageFromBitmap IUIImage 개체를 만들기 위한 팩터리 메서드를 정의합니다.
  • UI 변경에 대한 응답으로 프레임워크가 호출하는 리본 호스트 애플리케이션에서 구현하는 COM 인터페이스 집합입니다.

    인터페이스 설명
    IUIApplication 리본 프레임워크에 대한 애플리케이션 콜백 진입점 메서드를 정의합니다.
    IUICommandHandler 리본 프레임워크에서 명령 정보를 수집하고 명령 이벤트를 처리하는 메서드를 정의합니다.
    IUICollectionChangedEvent 런타임에 컬렉션의 변경 내용을 처리하는 데 필요한 메서드를 정의합니다.
  • 애플리케이션이 프로그래밍 방식으로 제어할 수 있는 UI 속성을 정의하는 속성 키 집합입니다.

    속성 키 형식 설명
    컬렉션 리본 컬렉션 기반 컨트롤의 속성을 정의합니다.
    색 선택기 리본 색 선택기 컨트롤의 속성을 정의합니다.
    글꼴 리본 글꼴Control의 속성을 정의합니다.
    Global 리본 프레임워크의 전역 속성을 정의합니다.
    리소스 리본 리소스 속성을 정의합니다.
    리본 리본 뷰 속성을 정의합니다.
    State 리본 컨트롤 상태 또는 컨텍스트에 대한 속성을 정의합니다.

보안 및 개인 정보

리본 프레임워크 DLL(uiribbon.dll)은 in-process로 실행되며 호스트 애플리케이션과 동일한 권한을 가집니다. 리본은 호스트 애플리케이션이 스피너 및 편집 가능한 콤보 상자와 같이 엄격하게 제한된 컨트롤에서 입력 또는 사용자 입력으로 제공하는 것만 허용합니다.

또한 프레임워크는 호스트 애플리케이션에서 제공하거나 옵트인 Windows 고객 환경 프로그램을 통해 수집(최종 사용자가 승인한 경우)를 제외한 모든 정보를 영구적으로 저장하지 않습니다.

접근성 및 지역화

접근성 높은 UI를 제공하기 위해 리본 프레임워크는 Microsoft 활성 접근성을 구현합니다. 관련 Microsoft Active Accessibility 속성을 유효하고 유용한 정보로 자동으로 채웁니다. 프레임워크는 개발자가 모든 사용자에게 포괄적인 환경을 제공하는 부담을 크게 줄입니다.

리본 프레임워크의 접근성에 대한 자세한 내용은 2007 Office Fluent 사용자 인터페이스에서 활성 접근성 작업을 참조하세요.

또한 리본 프레임워크는 Windows 기능이므로 Windows에서 지원하는 모든 언어에 대해 지역화됩니다. 그러나 개발자는 고유한 특정 애플리케이션 리소스를 지역화할 책임이 있습니다.

결론

리본은 애플리케이션 개발자, 설계자 및 디자이너가 새 애플리케이션을 디자인 및 빌드하거나 기존 애플리케이션을 업데이트할 때 고려해야 하는 새롭고 매력적인 명령 프레젠테이션 형식입니다.

Windows 리본 개발 포럼에서는 topics 논의하고 Windows 리본 프레임워크를 구현하는 애플리케이션 개발과 관련된 질문을 할 수 있습니다.

리본 태그를 사용하여 명령 및 컨트롤 선언

리본 메뉴 사용자 환경 지침

리본 디자인 프로세스