TreeItem 컨트롤 형식
이 항목에서는 TreeItem 컨트롤 형식에 대한 Microsoft UI 자동화 지원에 대한 정보를 제공합니다.
TreeItem 컨트롤 형식은 트리 컨테이너 내의 노드를 나타냅니다. 각 노드에는 자식 노드라고 하는 다른 노드가 포함될 수 있습니다. 부모 노드, 즉 자식 노드를 포함하는 노드를 확장 또는 축소된 상태로 표시할 수 있습니다.
다음 섹션에서는 TreeItem 컨트롤 형식에 필요한 UI 자동화 트리 구조, 속성, 컨트롤 패턴 및 이벤트를 정의합니다. UI 자동화 요구 사항은 UI 프레임워크/플랫폼이 컨트롤 형식 및 컨트롤 패턴에 대한 UI 자동화 지원을 통합하는 모든 트리 항목 컨트롤에 적용됩니다.
이 항목에는 다음과 같은 섹션이 포함되어 있습니다.
일반적인 트리 구조
다음 표에서는 트리 항목 컨트롤과 관련된 UI 자동화 트리의 일반적인 컨트롤 및 콘텐츠 뷰를 설명하고 각 보기에 포함될 수 있는 내용을 설명합니다. UI 자동화 트리에 대한 자세한 내용은 UI 자동화 트리 개요를 참조하세요.
컨트롤 뷰 | 콘텐츠 뷰 |
---|---|
|
|
트리 항목 컨트롤은 UI 자동화 트리의 콘텐츠 뷰에서 0개 이상의 트리 항목 자식을 가질 수 있습니다. 트리 항목 컨트롤에 아래 나열된 컨트롤 패턴에 노출되는 기능 이외의 기능이 있는 경우 컨트롤은 DataItem 컨트롤 형식을 기반으로 해야 합니다.
축소된 트리 항목은 확장되고 표시될 때까지 컨트롤 뷰 또는 콘텐츠 보기에 표시되지 않습니다(또는 보기로 스크롤할 수 있음).
컨트롤 뷰에는 연결된 이미지 또는 단추를 포함하여 컨트롤에 대한 추가 세부 정보가 포함될 수 있습니다. 예를 들어, 개요 보기의 항목에는 개요를 확장하거나 축소할 수 있는 단추는 물론 이미지가 포함될 수 있습니다. 정보가 부모 트리 항목으로 이미 표시되어 있으므로 이러한 세부 정보 개체는 콘텐츠 보기에 나타나지 않습니다.
화면에서 스크롤된 트리 항목은 UI 자동화 트리의 컨트롤 및 콘텐츠 보기 모두에 표시되며 IUIAutomationElement::CurrentIsOffscreen(또는 CachedIsOffscreen) 속성이 TRUE로 설정되어 있어야 합니다.
관련 속성
다음 표에서는 값 또는 정의가 TreeItem 컨트롤 형식과 특히 관련된 UI 자동화 속성을 나열합니다. UI 자동화 속성에 대한 자세한 내용은 UI 자동화 요소에서 속성 검색을 참조하세요.
UI 자동화 속성 | 값 | 참고 |
---|---|---|
UIA_AutomationIdPropertyId | 메모를 참조하세요. | 이 속성의 값은 UI 자동화 트리의 원시 뷰에 있는 모든 피어 요소에서 고유해야 합니다. |
UIA_BoundingRectanglePropertyId | 메모를 참조하세요. | 전체 컨트롤이 포함된 가장 바깥쪽 사각형입니다. |
UIA_ClickablePointPropertyId | 메모를 참조하세요. | 이 속성은 트리 항목이 선택 상태를 변경하거나 포커스가 되는 위치를 반환해야 합니다. |
UIA_ControlTypePropertyId | TreeItem | 이 값은 모든 UI 프레임워크에 대해 동일합니다. |
UIA_IsContentElementPropertyId | TRUE | 트리 항목 컨트롤은 항상 UI 자동화 트리의 콘텐츠 보기에 포함됩니다. |
UIA_IsControlElementPropertyId | TRUE | 트리 항목 컨트롤은 항상 UI 자동화 트리의 컨트롤 뷰에 포함됩니다. |
UIA_IsKeyboardFocusablePropertyId | 메모를 참조하세요. | 컨트롤이 키보드 포커스를 받을 수 있으면 해당 컨트롤은 이 속성을 지원해야 합니다. |
UIA_IsOffscreenPropertyId | 메모를 참조하세요. | 이 속성은 트리 항목 컨트롤이 화면에서 스크롤되는지 여부를 나타냅니다. |
UIA_ItemStatusPropertyId | 메모를 참조하세요. | 컨트롤에 동적으로 업데이트되는 상태 포함된 경우 요소의 상태 변경될 때 보조 기술이 업데이트를 받을 수 있도록 이 속성을 지원해야 합니다. |
UIA_ItemTypePropertyId | 메모를 참조하세요. | 트리 항목 컨트롤에서 시각적 아이콘을 사용하여 특정 유형의 항목임을 나타내는 경우 이 속성을 지원해야 하며 항목 유형을 나타내야 합니다. |
UIA_LabeledByPropertyId | NULL | 트리 항목 컨트롤은 자체적으로 레이블이 지정됩니다. |
UIA_LocalizedControlTypePropertyId | 메모를 참조하세요. | TreeItem 컨트롤 형식에 해당하는 지역화된 문자열입니다. 기본값은 en-US 또는 영어(미국)의 "트리 항목"입니다. |
UIA_NamePropertyId | 메모를 참조하세요. | 이 속성은 각 트리 항목 컨트롤에 대해 표시되는 텍스트를 노출합니다. |
필수 컨트롤 패턴
다음 표에서는 모든 트리 항목 컨트롤에서 지원하는 데 필요한 UI 자동화 컨트롤 패턴을 나열합니다. 컨트롤 패턴에 대한 자세한 내용은 UI Automation Control Patterns Overview를 참조하세요.
컨트롤 패턴/패턴 속성 | 지원/값 | 참고 |
---|---|---|
IExpandCollapseProvider | 필수 | 모든 항목을 확장하거나 축소할 수 있으므로 모든 트리 항목은 ExpandCollapse 컨트롤 패턴을 지원해야 합니다. |
ExpandCollapseState | 확장, 축소 또는 리프 노드 | 트리 항목은 확장되거나 축소되지 않은 리프 노드입니다. |
IInvokeProvider | 개체 | 트리 항목이 명령을 수행할 수 있는 경우 Invoke 컨트롤 패턴을 구현합니다. |
IScrollItemProvider | 개체 | 트리 컨테이너가 스크롤 컨트롤 패턴을 지원하는 경우 ScrollItem 컨트롤 패턴을 구현합니다. |
ISelectionItemProvider | 개체 | 사용자가 트리 컨테이너로 돌아올 때 유지 관리되는 활성 선택을 할 수 있는 경우 SelectionItem 컨트롤 패턴을 구현합니다. |
SelectionContainer | 필수 | 이 속성은 컨테이너 내의 모든 항목에 대해 동일한 컨테이너를 노출합니다. |
필요한 이벤트
다음 표에서는 트리 항목 컨트롤이 지원하는 데 필요한 UI 자동화 이벤트를 나열합니다. 이벤트에 대한 자세한 내용은 UI Automation Events Overview를 참조하세요.
UI 자동화 이벤트 | 참고 |
---|---|
UIA_AutomationFocusChangedEventId | |
UIA_BoundingRectanglePropertyId 속성 변경 이벤트입니다. | |
속성 변경 이벤트를 UIA_ExpandCollapseExpandCollapseStatePropertyId. | |
UIA_Invoke_InvokedEventId | 컨트롤이 Invoke 컨트롤 패턴을 지원하는 경우 이 이벤트를 지원해야 합니다. |
UIA_IsEnabledPropertyId 속성 변경 이벤트입니다. | 컨트롤이 IsEnabled 속성을 지원하는 경우 이 이벤트를 지원해야 합니다. |
속성 변경 이벤트를 UIA_IsOffscreenPropertyId. | 컨트롤이 IsOffscreen 속성을 지원하는 경우 이 이벤트를 지원해야 합니다. |
UIA_ItemStatusPropertyId 속성 변경 이벤트입니다. | 컨트롤이 ItemStatus 속성을 지원하는 경우 이 이벤트를 지원해야 합니다. |
속성 변경 이벤트를 UIA_MultipleViewCurrentViewPropertyId. | 컨트롤이 MultipleView 컨트롤 패턴을 지원하는 경우 이 이벤트를 지원해야 합니다. |
속성 변경 이벤트를 UIA_NamePropertyId. | |
UIA_SelectionItem_ElementAddedToSelectionEventId | 컨트롤이 SelectionItem 컨트롤 패턴을 지원하는 경우 이 이벤트를 지원해야 합니다. |
UIA_SelectionItem_ElementRemovedFromSelectionEventId | 컨트롤이 SelectionItem 컨트롤 패턴을 지원하는 경우 이 이벤트를 지원해야 합니다. |
UIA_SelectionItem_ElementSelectedEventId | 컨트롤이 SelectionItem 컨트롤 패턴을 지원하는 경우 이 이벤트를 지원해야 합니다. |
UIA_StructureChangedEventId | |
속성 변경 이벤트를 UIA_ToggleToggleStatePropertyId. | 컨트롤이 토글 컨트롤 패턴을 지원하는 경우 이 이벤트를 지원해야 합니다. |
속성 변경 이벤트를 UIA_ValueValuePropertyId. | 컨트롤이 값 컨트롤 패턴을 지원하는 경우 이 이벤트를 지원해야 합니다. |
설명
트리 항목에 자식 개요 노드 이외의 하위 항목이 있는 경우 공급자는 자식 개체 정보를 신중하고 명확하게 처리해야 합니다. UI 자동화 트리 구조는 트리 계층 자체에 의해 처리됩니다. 하나 이상의 비 개요 노드 자식이 있으면 자식 노드와 실제 자식 개요 노드 간의 차이가 심각하게 모호해집니다.
관련 항목