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 | 영 | 메뉴 모음에는 일반적으로 액셀러레이터 키가 없습니다. |
UIA_AccessKeyPropertyId | "Alt" | Alt 키를 누르면 일반적으로 애플리케이션 내의 메뉴 모음에 포커스가 표시됩니다. |
UIA_BoundingRectanglePropertyId | 참고를 참조하세요. | 이 속성에 의해 노출되는 값에는 해당 속성에 포함된 모든 컨트롤이 포함되어야 합니다. |
UIA_ControlTypePropertyId | MenuBar | |
UIA_IsContentElementPropertyId | FALSE | 메뉴 모음 컨트롤은 UI 자동화 트리의 콘텐츠 보기에 포함되지 않습니다. |
UIA_IsControlElementPropertyId | 참 | 메뉴 모음 컨트롤은 항상 UI 자동화 트리의 컨트롤 뷰에 포함됩니다. |
UIA_IsKeyboardFocusablePropertyId | 참 | 메뉴 모음 컨트롤은 키보드 포커스를 사용할 수 있기 때문에 키보드 포커스가 가능합니다. |
UIA_IsOffscreenPropertyId | 참고를 참조하세요. | 이 속성의 값은 컨트롤을 화면에서 볼 수 있는지 여부에 따라 다릅니다. |
UIA_LabeledByPropertyId | 영 | 메뉴 모음 컨트롤에는 일반적으로 레이블이 없습니다. |
UIA_LocalizedControlTypePropertyId | 참고를 참조하세요. | MenuBar 컨트롤 형식에 해당하는 지역화된 문자열입니다. 기본값은 en-US 또는 영어(미국)의 "메뉴 모음"입니다. |
UIA_NamePropertyId | 참고를 참조하세요. | 애플리케이션에 둘 이상의 메뉴 모음이 없으면 메뉴 모음 컨트롤에 이름이 필요하지 않습니다. 애플리케이션에 메뉴 모음이 두 개 이상 있는 경우 이 속성을 사용하여 "서식 지정" 또는 "개요"와 같은 고유 이름을 표시합니다. |
UIA_OrientationPropertyId | 따라 달라 집니다 | 이 속성은 메뉴 모음 컨트롤이 가로인지 세로인지를 표시합니다. |
필수 컨트롤 패턴
다음 표에서는 메뉴 모음 컨트롤에서 지원하는 데 필요한 UI 자동화 컨트롤 패턴을 나열합니다. 컨트롤 패턴에 대한 자세한 내용은 UI 자동화 컨트롤 패턴 개요참조하세요.
컨트롤 패턴 | 지원 | 노트 |
---|---|---|
IExpandCollapseProvider | 따라 달라 집니다 | 컨트롤을 확장하거나 축소할 수 있는 경우 ExpandCollapse 컨트롤 패턴을 구현해야 합니다. |
IDockProvider | 따라 달라 집니다 | 컨트롤을 화면의 다른 부분에 도킹할 수 있는 경우 Dock 컨트롤 패턴을 구현해야 합니다. |
ITransformProvider | 따라 달라 집니다 | 컨트롤의 크기를 조정, 회전 또는 이동할 수 있는 경우 변환 컨트롤 패턴을 구현해야 합니다. |
필수 이벤트
다음 표에서는 메뉴 모음 컨트롤이 지원하는 데 필요한 UI 자동화 이벤트를 나열합니다. 이벤트에 대한 자세한 내용은 UI 자동화 이벤트 개요참조하세요.
UI 자동화 이벤트 | 노트 |
---|---|
UIA_AutomationFocusChangedEventId | |
속성 변경 이벤트를 UIA_BoundingRectanglePropertyId. | |
UIA_ExpandCollapseExpandCollapseStatePropertyId 속성 변경 이벤트입니다. | 컨트롤이 ExpandCollapse 컨트롤 패턴을 지원하는 경우 이 이벤트를 지원해야 합니다. |
속성 변경 이벤트를 UIA_IsEnabledPropertyId. | 컨트롤이 IsEnabled 속성을 지원하는 경우 이 이벤트를 지원해야 합니다. |
UIA_IsOffscreenPropertyId 속성 변경 이벤트입니다. | 컨트롤이 IsOffscreen 속성을 지원하는 경우 이 이벤트를 지원해야 합니다. |
UIA_StructureChangedEventId |
관련 항목