MenuBar 컨트롤 형식에 대한 UI 자동화 지원

참고 항목

이 설명서는 System.Windows.Automation 네임스페이스에 정의된 관리되는 UI 자동화 클래스를 사용하려는 .NET Framework 개발자를 위한 것입니다. UI 자동화에 대한 최신 정보는 Windows 자동화 API: UI 자동화를 참조하세요.

이 항목에서는 MenuBar 컨트롤 형식에 대한 UI 자동화 지원에 대한 정보를 제공합니다. UI 자동화에서 컨트롤 형식은 ControlTypeProperty 속성을 사용하기 위해 컨트롤이 충족해야 하는 조건 집합입니다. 조건에는 UI 자동화 트리 구조, UI 자동화 속성 값, 컨트롤 패턴에 대한 특정 지침이 포함됩니다.

메뉴 모음 컨트롤은 MenuBar 컨트롤 형식을 구현하는 컨트롤의 예입니다. 메뉴 모음은 사용자가 애플리케이션에 포함된 명령 및 옵션을 활성화하는 방법을 제공합니다.

다음 섹션에서는 MenuBar 컨트롤 형식에 필요한 UI 자동화 트리 구조, 속성, 컨트롤 패턴, 이벤트를 정의합니다. UI 자동화 요구 사항은 WPF(Windows Presentation Foundation), Win32 또는 Windows Forms 여부에 관계없이 모든 목록 컨트롤에 적용됩니다.

필요한 UI 자동화 트리 구조

다음 표에서는 메뉴 모음 컨트롤과 관련된 UI 자동화 트리의 컨트롤 보기 및 콘텐츠 보기를 설명하고 각 보기에 포함될 수 있는 내용을 설명합니다. UI 자동화 트리에 대한 자세한 내용은 UI 자동화 트리 개요를 참조하세요.

컨트롤 뷰 콘텐츠 뷰
MenuBar

- MenuItem(1개 이상)
- 기타 컨트롤(0개 이상)
MenuBar

- MenuItem(1개 이상)
- 기타 컨트롤(0개 이상)

메뉴 모음 컨트롤의 구조 내에 편집 컨트롤 및 콤보 상자와 같은 다른 컨트롤이 포함될 수 있습니다. 이러한 추가 컨트롤은 컨트롤 뷰 및 콘텐츠 뷰의 위에 나열되는 “기타 컨트롤”에 해당합니다.

필요한 UI 자동화 속성

다음 표에서는 값 또는 정의가 메뉴 모음 컨트롤과 특별히 관련된 UI 자동화 속성을 나열하여 보여 줍니다. UI 자동화 속성에 대한 자세한 내용은 클라이언트용 UI 자동화 속성을 참조하세요.

UI 자동화 속성 주의
BoundingRectangleProperty 메모를 참조하세요. 이 속성이 노출하는 값에는 속성 내에 있는 모든 컨트롤이 포함되어야 합니다.
NameProperty 메모를 참조하세요. 애플리케이션에 둘 이상의 메뉴 모음이 있는 경우를 제외하고 메뉴 모음 컨트롤에 이름이 필요하지 않습니다. 애플리케이션에 둘 이상의 메뉴 모음이 있는 경우 이 속성을 사용하여 "서식" 또는 "개요"와 같은 구분되는 이름을 노출해야 합니다.
LabeledByProperty Null 메뉴 모음 컨트롤에는 레이블이 없습니다.
ControlTypeProperty MenuBar 이 값은 모든 UI 프레임워크에 대해 동일합니다.
LocalizedControlTypeProperty "menu bar" MenuBar 컨트롤 형식에 해당하는 지역화된 문자열입니다.
IsContentElementProperty True 메뉴 모음 컨트롤은 항상 UI 자동화 트리의 콘텐츠 보기에 포함됩니다.
IsControlElementProperty True 메뉴 모음 컨트롤은 항상 UI 자동화 트리의 컨트롤 보기에 포함됩니다.
IsOffscreenProperty 메모를 참조하세요. 이 속성의 값은 컨트롤이 화면에 표시되는지에 따라 다릅니다.
OrientationProperty 개체 이 속성은 메뉴 모음이 가로 또는 세로인지를 노출합니다.
IsKeyboardFocusableProperty True 메뉴 모음 컨트롤은 여기에 포함된 컨트롤이 키보드 포커스를 사용할 수 있기 때문에 키보드 포커스를 받을 수 있습니다.
HelpTextProperty 메모를 참조하세요. 메뉴 모음 컨트롤에 도움말 텍스트가 필요한 경우에 대한 시나리오는 없습니다.
AcceleratorKeyProperty Null 메뉴 모음에 액셀러레이터 키가 없습니다.
AccessKeyProperty "ALT" ALT 키를 누르면 애플리케이션 내에서 메뉴 모음에 항상 포커스가 생겨야 합니다.

필요한 UI 자동화 컨트롤 패턴

다음 표에는 메뉴 모음 컨트롤에서 지원해야 하는 UI 자동화 컨트롤 패턴이 나열되어 있습니다. 컨트롤 패턴에 대한 자세한 내용은 UI Automation Control Patterns Overview를 참조하세요.

컨트롤 패턴 지원 주의
IExpandCollapseProvider 개체 컨트롤을 확장하거나 축소할 수 있는 경우 IExpandCollapseProvider를 구현합니다.
IDockProvider 개체 컨트롤을 화면의 여러 부분에 도킹할 수 있으면 IDockProvider를 구현합니다.
ITransformProvider 개체 컨트롤의 크기를 조정하거나, 회전하거나, 이동할 수 있는 경우 ITransformProvider를 구현해야 합니다.

필요한 UI 자동화 이벤트

다음 표에는 모든 메뉴 모음 컨트롤에서 지원해야 하는 UI 자동화 이벤트가 나열되어 있습니다. 이벤트에 대한 자세한 내용은 UI Automation Events Overview를 참조하세요.

UI 자동화 이벤트 지원/값 주의
BoundingRectangleProperty 속성 변경 이벤트. Required None
IsOffscreenProperty 속성 변경 이벤트. Required None
IsEnabledProperty 속성 변경 이벤트. Required None
ExpandCollapseStateProperty 속성 변경 이벤트. 개체 None
AutomationFocusChangedEvent Required None
StructureChangedEvent Required None

참고 항목