트리 컨트롤 형식
이 항목에서는 트리 컨트롤 형식에 대한 Microsoft UI 자동화 지원에 대한 정보를 제공합니다.
트리 컨트롤 형식은 Windows Explorer 왼쪽 창에 파일 및 폴더가 표시되는 방식과 마찬가지로 콘텐츠가 노드의 계층 구조로 관련성이 있는 컨테이너에 사용됩니다. 각 노드에는 자식 노드라고 하는 다른 노드가 포함될 수 있습니다. 부모 노드, 즉 자식 노드를 포함하는 노드를 확장 또는 축소된 상태로 표시할 수 있습니다. Windows 트리 뷰 컨트롤( WC_TREEVIEW 식별됨)은 트리 컨트롤 형식에 속하는 컨트롤의 예입니다.
다음 섹션에서는 트리 컨트롤 형식에 필요한 UI 자동화 트리 구조, 속성, 컨트롤 패턴 및 이벤트를 정의합니다. UI 자동화 요구 사항은 UI 프레임워크/플랫폼이 컨트롤 형식 및 컨트롤 패턴에 대한 UI 자동화 지원을 통합하는 모든 트리 항목 컨트롤에 적용됩니다.
이 항목에는 다음과 같은 섹션이 포함되어 있습니다.
일반적인 트리 구조
다음 표에서는 트리 컨트롤과 관련된 UI 자동화 트리의 일반적인 컨트롤 및 콘텐츠 뷰를 설명하고 각 보기에 포함할 수 있는 내용을 설명합니다. UI 자동화 트리에 대한 자세한 내용은 UI 자동화 트리 개요를 참조하세요.
컨트롤 뷰 | 콘텐츠 뷰 |
---|---|
|
|
UI 자동화 트리의 컨트롤 뷰는 다음과 같이 구성되어 있습니다.
UI 자동화 트리의 콘텐츠 보기는 컨테이너 내에서 0개 또는 여러 항목으로 구성됩니다(항목은 TreeItem 또는 DataItem 컨트롤 형식을 기반으로 할 수 있음).
관련 속성
다음 표에서는 값 또는 정의가 트리 컨트롤 형식과 특히 관련된 UI 자동화 속성을 나열합니다. UI 자동화 속성에 대한 자세한 내용은 UI 자동화 요소에서 속성 검색을 참조하세요.
UI 자동화 속성 | 값 | 참고 |
---|---|---|
UIA_AutomationIdPropertyId | 메모를 참조하세요. | 이 속성의 값은 UI 자동화 트리의 원시 뷰에 있는 모든 피어 요소에서 고유해야 합니다. |
UIA_BoundingRectanglePropertyId | 메모를 참조하세요. | 전체 컨트롤이 포함된 가장 바깥쪽 사각형입니다. |
UIA_ClickablePointPropertyId | 메모를 참조하세요. | 트리 컨트롤에는 트리 또는 트리 컨테이너의 항목 중 하나가 포커스를 받도록 하는 클릭 가능한 지점이 있습니다. 트리 컨트롤은 항목을 선택하거나 포커스를 받지 않고 트리의 위치를 클릭할 수 있는 경우에만 클릭 가능한 지점을 가질 수 있습니다. |
UIA_ControlTypePropertyId | 트리 | 이 값은 모든 UI 프레임워크에 대해 동일합니다. |
UIA_IsContentElementPropertyId | TRUE | 트리 컨트롤은 항상 UI 자동화 트리의 콘텐츠 보기에 포함됩니다. |
UIA_IsControlElementPropertyId | TRUE | 트리 컨트롤은 항상 UI 자동화 트리의 컨트롤 보기에 포함됩니다. |
UIA_IsKeyboardFocusablePropertyId | 메모를 참조하세요. | 컨트롤이 키보드 포커스를 받을 수 있으면 해당 컨트롤은 이 속성을 지원해야 합니다. |
UIA_LabeledByPropertyId | 메모를 참조하세요. | 트리 컨트롤에 연결된 레이블이 있는 경우 이 속성은 해당 레이블에 대한 IUIAutomationElement 포인터를 반환합니다. 그렇지 않으면 속성은 null 참조를 반환합니다. |
UIA_LocalizedControlTypePropertyId | 메모를 참조하세요. | 트리 컨트롤 형식에 해당하는 지역화된 문자열입니다. 기본값은 en-US 또는 영어(미국)의 "트리"입니다. |
UIA_NamePropertyId | 메모를 참조하세요. | 트리 컨트롤의 Name 속성 값은 일반적으로 컨트롤의 레이블을 지정하는 텍스트에서 제공됩니다. 텍스트 레이블이 없는 경우 이 속성에 대한 값을 제공해야 합니다. |
필수 컨트롤 패턴
다음 표에서는 모든 트리 컨트롤에서 지원하는 데 필요한 UI 자동화 컨트롤 패턴을 나열합니다. 컨트롤 패턴에 대한 자세한 내용은 UI Automation Control Patterns Overview를 참조하세요.
컨트롤 패턴/패턴 속성 | 지원/값 | 참고 |
---|---|---|
IScrollProvider | 개체 | 트리 컨테이너의 항목을 스크롤할 수 있는 경우 스크롤 컨트롤 패턴을 구현합니다. |
ISelectionProvider | 개체 | 선택 가능한 항목 집합을 포함하는 트리 컨트롤은 선택 컨트롤 패턴을 구현해야 합니다. 항목을 선택하면 사용자에게 의미 있는 정보가 전달되지 않는 경우 구현할 필요가 없습니다. |
CanSelectMultiple | 메모를 참조하세요. | 트리 컨트롤에서 다중 선택을 지원하는 경우(대부분의 트리 컨트롤에서 다중 선택을 지원하지 않음) 이 속성을 구현합니다. |
IsSelectionRequired | 메모를 참조하세요. | 이 속성의 값은 컨트롤에 항목을 선택해야 하는 경우 노출됩니다. |
필요한 이벤트
다음 표에서는 모든 트리 컨트롤이 지원해야 하는 UI 자동화 이벤트를 나열합니다. 이벤트에 대한 자세한 내용은 UI Automation Events Overview를 참조하세요.
UI 자동화 이벤트 | 참고 |
---|---|
UIA_AutomationFocusChangedEventId | |
속성 변경 이벤트를 UIA_BoundingRectanglePropertyId. | |
속성 변경 이벤트를 UIA_IsEnabledPropertyId. | 컨트롤이 IsEnabled 속성을 지원하는 경우 이 이벤트를 지원해야 합니다. |
속성 변경 이벤트를 UIA_IsOffscreenPropertyId. | 컨트롤이 IsOffscreen 속성을 지원하는 경우 이 이벤트를 지원해야 합니다. |
속성 변경 이벤트를 UIA_ScrollHorizontallyScrollablePropertyId. | 컨트롤이 스크롤 컨트롤 패턴을 지원하는 경우 이 이벤트를 지원해야 합니다. |
속성 변경 이벤트를 UIA_ScrollHorizontalScrollPercentPropertyId. | 컨트롤이 스크롤 컨트롤 패턴을 지원하는 경우 이 이벤트를 지원해야 합니다. |
속성 변경 이벤트를 UIA_ScrollHorizontalViewSizePropertyId. | 컨트롤이 스크롤 컨트롤 패턴을 지원하는 경우 이 이벤트를 지원해야 합니다. |
속성 변경 이벤트를 UIA_ScrollVerticalScrollPercentPropertyId. | 컨트롤이 스크롤 컨트롤 패턴을 지원하는 경우 이 이벤트를 지원해야 합니다. |
속성 변경 이벤트를 UIA_ScrollVerticallyScrollablePropertyId. | 컨트롤이 스크롤 컨트롤 패턴을 지원하는 경우 이 이벤트를 지원해야 합니다. |
속성 변경 이벤트를 UIA_ScrollVerticalViewSizePropertyId. | 컨트롤이 스크롤 컨트롤 패턴을 지원하는 경우 이 이벤트를 지원해야 합니다. |
UIA_Selection_InvalidatedEventId | 컨트롤이 선택 컨트롤 패턴을 지원하는 경우 이 이벤트를 지원해야 합니다. |
UIA_StructureChangedEventId |
관련 항목