UI 관리자 샘플

업데이트: 2007년 11월

참고:

이 샘플은 Microsoft Office Outlook 2007에서만 실행됩니다.

이 샘플에서는 추가 기능에 확장성 인터페이스를 구현하여 Microsoft Office Outlook 2007의 UI(사용자 인터페이스)를 사용자 지정하는 방법을 보여 줍니다. 이 샘플에서는 확장성 인터페이스를 사용하여 리본 사용자 지정, 사용자 지정 작업 창 및 사용자 지정 양식 영역을 만듭니다.

또한 이 샘플에서는 사용자 지정 UI 요소를 특정 검사기 창에 맞게 조정하는 한 가지 방법을 보여 줍니다. 이 샘플의 코드는 검사기의 리본 사용자 지정, 사용자 지정 작업 창 및 사용자 지정 양식 영역 간에 올바른 통신이 가능하도록 합니다. 이러한 사용자 지정 UI 요소는 다른 검사기에 열려 있는 사용자 지정 UI 요소의 다른 인스턴스와 독립적인 방식으로 통신해야 합니다.

예를 들어 검사기가 여러 개 열려 있고 각 검사기에 별도의 사용자 지정 리본, 작업 창 및 양식 영역이 표시된 경우, 사용자가 리본 메뉴의 단추를 클릭하는 등의 방법으로 이러한 요소 중 하나와 상호 작용하면 작업 창이 숨겨지는 등 다른 요소에 변화가 생길 수 있습니다. 따라서 코드에서는 한 검사기의 요소만 영향을 받고 다른 검사기에 있는 사용자 지정 UI 요소의 다른 인스턴스는 영향을 받지 않도록 해야 합니다.

이 샘플에서는 검사기 및 사용자 지정 작업 창 개체를 래핑하는 여러 개의 클래스를 사용하여 사용자가 작업 및 전자 메일 메시지를 열 때마다 새로운 작업 창이 표시되도록 합니다. 또한 샘플에서는 각 작업 또는 전자 메일 메시지에서 작업 창을 숨기거나 표시하는 데 사용할 수 있는 사용자 지정 리본 단추를 만들고, 각 작업에 사용자 지정 양식 영역을 표시합니다. 이 샘플의 구조에 대한 자세한 내용은 UI 관리자 샘플의 구성 요소를 참조하십시오.

컴퓨터에 샘플 프로젝트를 설치하는 방법에 대한 자세한 내용은 방법: 도움말에 있는 샘플 파일 설치 및 사용를 참조하십시오.

참고:

이 샘플에서는 확장성 인터페이스를 사용하여 리본 사용자 지정, 사용자 지정 작업 창 및 양식 영역을 만들지만 Visual Studio Tools for Office에서 제공하는 클래스와 디자이너를 대신 사용할 수도 있습니다. 이러한 클래스와 디자이너는 이러한 기능에 대한 작업 과정을 단순하게 해 줍니다. 자세한 내용은 리본 디자이너, 사용자 지정 작업 창 개요Outlook 양식 영역 만들기를 참조하십시오.

보안 정보:

이 샘플 코드는 개념을 보여 주기 위한 것이며 해당 개념과 관련된 코드만 표시합니다. 또한 특정 환경의 보안 요구 사항에 맞지 않을 수 있으므로 여기에 나온 그대로 사용해서는 안 됩니다. 보안 및 오류 처리 코드를 추가하여 프로젝트를 더 강력하게 만들고 해당 보안 기능을 강화하는 것이 좋습니다. Microsoft에서는 이 샘플 코드를 보증 없이 "있는 그대로" 제공합니다.

Download sample

이 샘플을 실행하려면

  1. F5 키를 누릅니다.

  2. Outlook에서 새 작업을 만듭니다.

  3. 작업의 리본 메뉴에서 추가 기능 탭을 클릭합니다.

  4. UI Manager 그룹에서 TaskPane 단추를 클릭합니다.

    작업 창 옆에 SimpleControl 작업 창이 나타나는지 확인합니다.

  5. Show 그룹에서 UIM 단추를 클릭합니다.

    열려 있는 작업의 읽기 창에 사용자 지정 양식 영역이 나타나는지 확인합니다. 양식 영역에는 커피 원두 목록과 지금까지의 커피 주문 횟수가 들어 있는 텍스트 상자가 표시됩니다.

  6. 양식 영역에서 커피 원두 유형을 하나 이상 선택합니다.

    선택한 각 커피 원두 유형이 SimpleControl 작업 창에 추가되는지 확인합니다.

  7. 리본 메뉴의 Add-in Services 그룹에서 Send 단추를 클릭합니다.

    새 전자 메일 메시지가 받는 사람 someone@example.com에 보내지는지와 양식 영역에서 선택한 모든 커피 원두 유형이 전자 메일 메시지에 들어 있는지를 확인합니다.

    전자 메일 메시지는 커피 주문을 나타내므로 양식 영역에 표시되는 주문 횟수가 증가합니다.

요구 사항

이 샘플에는 다음과 같은 응용 프로그램이 필요합니다.

  • Visual Studio Tools for Office.

  • Microsoft Office Outlook 2007

세부 항목

이 샘플에서는 다음 개념을 보여 줍니다.

  • 추가 기능에 Microsoft.Office.Core.IRibbonExtensibility 인터페이스를 구현하여 리본 사용자 지정 만들기

  • 추가 기능에 Microsoft.Office.Core.ICustomTaskPaneConsumer 인터페이스를 구현하여 사용자 지정 작업 창 만들기

  • 추가 기능에 Microsoft.Office.Interop.Outlook.FormRegionStartup 인터페이스를 구현하여 사용자 지정 양식 영역 만들기

  • Outlook에서 서로 다른 전자 메일 메시지 및 작업에 표시되는 리본 사용자 지정, 사용자 지정 작업 창 및 양식 영역의 관리 및 동기화

UI 관리자 샘플의 구성 요소

샘플 솔루션에는 두 개의 프로젝트가 포함되어 있습니다.

  • Microsoft.Samples.Vsto.UiManager는 Outlook용 추가 기능 프로젝트입니다. 이 프로젝트에는 확장성 인터페이스가 구현되어 있으며 이러한 구현을 지원하는 기타 클래스 및 파일이 포함되어 있습니다.

  • Microsoft.Samples.Vsto.AddinUtilities는 Outlook 추가 기능 프로젝트에서 사용하는 UI 관리 클래스 및 인터페이스가 포함된 클래스 라이브러리입니다.

이러한 프로젝트에서는 사용자 지정 작업 창, 리본 사용자 지정 및 양식 영역을 구현하는 구성 요소와 이러한 기능을 동기화하고 관리하는 데 유용한 구성 요소를 제공합니다.

UI 관리 구성 요소

다음 표에서는 리본 사용자 지정에 대한 코드를 제공하는 프로젝트 파일을 설명합니다.

파일

설명

ThisAddIn.cs/vb

RequestService 메서드의 재정의와 모든 검사기 창에 대해 새 사용자 지정 작업 창을 만드는 코드가 들어 있습니다. 이 메서드에 대한 자세한 내용은 확장성 인터페이스를 사용하여 UI 기능 사용자 지정를 참조하십시오.

UserInterfaceContainer.cs/vb

UserInterfaceContainer 클래스를 정의합니다. 각 UserInterfaceContainer 개체는 단일 전자 메일 메시지 또는 주문에 대한 양식 영역, 작업 창 및 리본 사용자 지정을 관리합니다.

UserInterfaceElements.cs/vb

UserInterfaceElements 클래스를 정의합니다. 이 클래스는 추가 기능에서 사용하는 UserInterfaceContainter 개체의 컬렉션을 유지 관리합니다.

IFormRegionControls.cs/vb

IRibbonConnector.cs/vb

Microsoft.Samples.Vsto.UiManager 및 Microsoft.Samples.Vsto.AddinUtilities 프로젝트의 몇몇 클래스가 서로 통신하는 데 사용하는 인터페이스를 정의합니다.

사용자 지정 작업 창 구성 요소

다음 표에서는 사용자 지정 작업 창에 대한 코드를 제공하는 프로젝트 파일을 설명합니다.

파일

설명

TaskPaneConnector.cs/vb

TaskPaneConnector 클래스를 정의합니다. 이 클래스는 Microsoft.Office.Core.ICustomTaskPaneConsumer 인터페이스를 구현합니다.

SimpleControl.cs/vb

사용자 지정 작업 창의 UI를 제공하는 UserControl을 정의합니다. 이 컨트롤에는 컨트롤을 COM에 노출하는 특성이 있습니다.

리본 구성 요소

다음 표에서는 리본 사용자 지정에 대한 코드를 제공하는 프로젝트 파일을 설명합니다.

파일

설명

RibbonConnector.cs/vb

RibbonConnector 클래스를 정의합니다. 이 클래스는 Microsoft.Office.Core.IRibbonExtensibility 인터페이스를 구현합니다.

SimpleRibbon.xml

TaskRibbon.xml

Microsoft.Office.Core.IRibbonExtensibility 인터페이스 구현의 GetCustomUI 메서드에서 반환되는 리본 XML 문자열이 들어 있습니다.

양식 영역 구성 요소

다음 표에서는 작업 검사기에 표시되는 사용자 지정 양식 영역의 코드를 제공하는 프로젝트 파일을 설명합니다.

파일

설명

FormRegionConnector.cs/vb

FormRegionConnector 클래스를 정의합니다. 이 클래스는 Microsoft.Office.Interop.Outlook.FormRegionStartup 인터페이스를 구현합니다.

FormRegionControls.cs/vb

각 양식 영역 인스턴스의 컨트롤을 관리하는 클래스를 정의합니다.

PictureConverter.cs/vb

Image를 양식 영역에 아이콘을 표시하는 데 사용할 수 있는 IPictureDisp로 변환합니다.

SimpleFormRegion.ofs

양식 영역의 UI를 정의합니다.

SimpleFormRegion.xml

양식 영역의 매니페스트가 들어 있습니다.

SimpleFormRegion.reg

양식 영역을 로드하는 데 필요한 레지스트리 항목을 만듭니다.

참고 항목

작업

작업 창 데모 샘플

개념

확장성 인터페이스를 사용하여 UI 기능 사용자 지정

리본 디자이너

사용자 지정 작업 창 개요

여러 응용 프로그램 창의 사용자 지정 작업 창 관리

기타 리소스

문서 수준 샘플