MenuBar 컨트롤 유형
이 항목에서는 MenuBar 컨트롤 형식에 대한 Microsoft UI 자동화 지원에 대한 정보를 제공합니다.
메뉴 모음 컨트롤은 MenuBar 컨트롤 형식을 구현하는 컨트롤의 예입니다. 메뉴 모음은 사용자가 애플리케이션에 포함된 명령 및 옵션을 활성화하는 방법을 제공합니다.
다음 섹션에서는 MenuBar 컨트롤 형식에 필요한 UI 자동화 트리 구조, 속성, 컨트롤 패턴 및 이벤트를 정의합니다. UI 자동화 요구 사항은 UI 프레임워크/플랫폼이 컨트롤 형식 및 컨트롤 패턴에 대한 UI 자동화 지원을 통합하는 모든 메뉴 모음 컨트롤에 적용됩니다.
이 항목에는 다음과 같은 섹션이 포함되어 있습니다.
일반적인 트리 구조
다음 표에서는 메뉴 모음 컨트롤과 관련된 UI 자동화 트리의 일반적인 컨트롤 및 콘텐츠 뷰를 설명하고 각 보기에 포함할 수 있는 내용을 설명합니다. UI 자동화 트리에 대한 자세한 내용은 UI 자동화 트리 개요를 참조하세요.
컨트롤 뷰 | 콘텐츠 뷰 |
---|---|
|
|
메뉴 모음 컨트롤은 항상 컨트롤 뷰에 표시되지만, 일반적으로 애플리케이션에 둘 이상의 메뉴 모음이 포함되지 않는 한 최종 사용자에게 의미 있는 정보를 전달하지 않기 때문에 콘텐츠 보기에는 나타나지 않습니다.
UI 자동화 클라이언트는 UIA_MenuModeStartEventId 이벤트를 수신 대기하여 UI가 메뉴 모드로 전환될 때 지속적으로 알림을 받을 수 있습니다. 애플리케이션이 메뉴 모드에 있는 경우 메뉴 탐색을 위해 모든 키보드 입력을 캡처할 수 있습니다(예: 's'를 입력하면 애플리케이션 클라이언트 영역에 문자를 입력하는 대신 저장 메뉴가 호출될 수 있음). 논리적 일관성을 보장하려면 UIA_MenuModeStartEventId 이벤트가 첫 번째 UIA_MenuOpenedEventId 이벤트 앞에 있어야 합니다. UIA_MenuModeEndEventId 이벤트는 마지막 UIA_MenuClosedEventId 이벤트를 따릅니다. 메뉴 항목을 클릭하면 UIA_MenuModeStartEventId 이벤트와 UIA_MenuOpenedEventId이벤트가 즉시 트리거될 수도 있습니다.
메뉴 모음 컨트롤은 구조 내에서 편집 컨트롤 및 콤보 상자와 같은 다른 컨트롤을 포함할 수 있습니다. 이러한 추가 컨트롤은 컨트롤 뷰 및 콘텐츠 뷰의 위에 나열되는 “기타 컨트롤”에 해당합니다.
관련 속성
다음 표에서는 값 또는 정의가 MenuBar 컨트롤 형식과 특히 관련된 UI 자동화 속성을 나열합니다. UI 자동화 속성에 대한 자세한 내용은 UI 자동화 요소에서 속성 검색을 참조하세요.
UI 자동화 속성 | 값 | 참고 |
---|---|---|
UIA_AcceleratorKeyPropertyId | NULL | 메뉴 모음에는 일반적으로 액셀러레이터 키가 없습니다. |
UIA_AccessKeyPropertyId | "ALT" | ALT 키를 누르면 일반적으로 애플리케이션 내의 메뉴 모음에 포커스가 맞춰집니다. |
UIA_BoundingRectanglePropertyId | 메모를 참조하세요. | 이 속성이 노출하는 값에는 속성 내에 있는 모든 컨트롤이 포함되어야 합니다. |
UIA_ControlTypePropertyId | MenuBar | |
UIA_IsContentElementPropertyId | FALSE | 메뉴 모음 컨트롤은 UI 자동화 트리의 콘텐츠 보기에 포함되지 않습니다. |
UIA_IsControlElementPropertyId | TRUE | 메뉴 모음 컨트롤은 항상 UI 자동화 트리의 컨트롤 보기에 포함됩니다. |
UIA_IsKeyboardFocusablePropertyId | TRUE | 메뉴 모음 컨트롤은 여기에 포함된 컨트롤이 키보드 포커스를 사용할 수 있기 때문에 키보드 포커스를 받을 수 있습니다. |
UIA_IsOffscreenPropertyId | 메모를 참조하세요. | 이 속성의 값은 컨트롤이 화면에 표시되는지에 따라 다릅니다. |
UIA_LabeledByPropertyId | NULL | 메뉴 모음 컨트롤에는 일반적으로 레이블이 없습니다. |
UIA_LocalizedControlTypePropertyId | 메모를 참조하세요. | MenuBar 컨트롤 형식에 해당하는 지역화된 문자열입니다. 기본값은 en-US 또는 영어(미국)의 "메뉴 모음"입니다. |
UIA_NamePropertyId | 메모를 참조하세요. | 애플리케이션에 둘 이상의 메뉴 모음이 있는 경우를 제외하고 메뉴 모음 컨트롤에 이름이 필요하지 않습니다. 애플리케이션에 메뉴 모음이 두 개 이상 있는 경우 이 속성을 사용하여 "서식 지정" 또는 "개요"와 같은 고유 이름을 노출합니다. |
UIA_OrientationPropertyId | 개체 | 이 속성은 메뉴 모음이 가로 또는 세로인지를 노출합니다. |
필수 컨트롤 패턴
다음 표에는 메뉴 모음 컨트롤에서 지원해야 하는 UI 자동화 컨트롤 패턴이 나열되어 있습니다. 컨트롤 패턴에 대한 자세한 내용은 UI Automation Control Patterns Overview를 참조하세요.
컨트롤 패턴 | 지원 | 메모 |
---|---|---|
IExpandCollapseProvider | 개체 | 컨트롤을 확장하거나 축소할 수 있는 경우 ExpandCollapse 컨트롤 패턴을 구현해야 합니다. |
IDockProvider | 개체 | 컨트롤을 화면의 다른 부분에 도킹할 수 있는 경우 Dock 컨트롤 패턴을 구현해야 합니다. |
ITransformProvider | 개체 | 컨트롤의 크기를 조정, 회전 또는 이동할 수 있는 경우 변환 컨트롤 패턴을 구현해야 합니다. |
필요한 이벤트
다음 표에서는 메뉴 모음 컨트롤이 지원하는 데 필요한 UI 자동화 이벤트를 나열합니다. 이벤트에 대한 자세한 내용은 UI Automation Events Overview를 참조하세요.
UI 자동화 이벤트 | 참고 |
---|---|
UIA_AutomationFocusChangedEventId | |
UIA_BoundingRectanglePropertyId 속성 변경 이벤트입니다. | |
속성 변경 이벤트를 UIA_ExpandCollapseExpandCollapseStatePropertyId. | 컨트롤이 ExpandCollapse 컨트롤 패턴을 지원하는 경우 이 이벤트를 지원해야 합니다. |
UIA_IsEnabledPropertyId 속성 변경 이벤트입니다. | 컨트롤이 IsEnabled 속성을 지원하는 경우 이 이벤트를 지원해야 합니다. |
속성 변경 이벤트를 UIA_IsOffscreenPropertyId. | 컨트롤이 IsOffscreen 속성을 지원하는 경우 이 이벤트를 지원해야 합니다. |
UIA_StructureChangedEventId |
관련 항목