이 항목에서는 트리 컨트롤 형식에 대한 Microsoft UI Automation 지원에 대한 정보를 제공합니다.
트리 컨트롤 형식은 Windows 탐색기의 왼쪽 창에 파일 및 폴더가 표시되는 방식과 마찬가지로 콘텐츠가 노드 계층 구조로 관련성이 있는 컨테이너에 사용됩니다. 각 노드에는 자식 노드라는 다른 노드가 포함될 가능성이 있습니다. 부모 노드 또는 자식 노드를 포함하는 노드는 확장되거나 축소된 것으로 표시될 수 있습니다. 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 | 참 | 트리 컨트롤은 항상 UI 자동화 트리의 콘텐츠 뷰에 포함됩니다. |
| UIA_IsControlElementPropertyId | 참 | 트리 컨트롤은 항상 UI 자동화 트리의 컨트롤 뷰에 포함됩니다. |
| UIA_IsKeyboardFocusablePropertyId | 참고를 참조하세요. | 컨트롤이 키보드 포커스를 받을 수 있는 경우 이 속성을 지원해야 합니다. |
| UIA_LabeledByPropertyId | 참고를 참조하세요. | 트리 컨트롤에 연결된 레이블이 있는 경우 이 속성은 해당 레이블에 대한 IUIAutomationElement 포인터를 반환합니다. 그렇지 않으면 속성은 null 참조를 반환합니다. |
| UIA_LocalizedControlTypePropertyId | 참고를 참조하세요. | 트리 컨트롤 형식에 해당하는 지역화된 문자열입니다. 기본값은 en-US 또는 영어(미국)의 "트리"입니다. |
| UIA_NamePropertyId | 참고를 참조하세요. | 트리 컨트롤의 이름 속성 값은 일반적으로 컨트롤에 레이블을 지정하는 텍스트에서 가져옵니다. 텍스트 레이블이 없는 경우 이 속성에 대한 값을 제공해야 합니다. |
필수 컨트롤 패턴
다음 표에서는 모든 트리 컨트롤에서 지원하는 데 필요한 UI 자동화 컨트롤 패턴을 나열합니다. 컨트롤 패턴에 대한 자세한 내용은 UI 자동화 컨트롤 패턴 개요참조하세요.
| 컨트롤 패턴/패턴 속성 | 지원/값 | 노트 |
|---|---|---|
| IScrollProvider | 따라 달라 집니다 | 트리 컨테이너의 항목을 스크롤할 수 있는 경우 Scroll 컨트롤 패턴을 구현합니다. |
| ISelectionProvider | 따라 달라 집니다 | 선택 가능한 항목 집합을 포함하는 트리 컨트롤은 Selection 컨트롤 패턴을 구현해야 합니다. 항목을 선택하면 사용자에게 의미 있는 정보가 전달되지 않는 경우 구현할 필요가 없습니다. |
| CanSelectMultiple | 참고를 참조하세요. | 트리 컨트롤이 여러 선택을 지원하는 경우 이 속성을 구현합니다(대부분의 트리 컨트롤은 여러 선택을 지원하지 않음). |
| IsSelectionRequired | 참고를 참조하세요. | 컨트롤에서 항목을 선택해야 하는 경우 이 속성의 값이 노출됩니다. |
필수 이벤트
다음 표에서는 모든 트리 컨트롤에서 지원해야 하는 UI 자동화 이벤트를 나열합니다. 이벤트에 대한 자세한 내용은 UI 자동화 이벤트 개요참조하세요.
| UI 자동화 이벤트 | 노트 |
|---|---|
| UIA_AutomationFocusChangedEventId | |
| 속성 변경 이벤트를 UIA_BoundingRectanglePropertyId. | |
| 속성 변경 이벤트를 UIA_IsEnabledPropertyId. | 컨트롤이 IsEnabled 속성을 지원하는 경우 이 이벤트를 지원해야 합니다. |
| UIA_IsOffscreenPropertyId 속성 변경 이벤트입니다. | 컨트롤이 IsOffscreen 속성을 지원하는 경우 이 이벤트를 지원해야 합니다. |
| 속성 변경 이벤트를 UIA_ScrollHorizontallyScrollablePropertyId. | 컨트롤이 Scroll 컨트롤 패턴을 지원하는 경우 이 이벤트를 지원해야 합니다. |
| UIA_ScrollHorizontalScrollPercentPropertyId 속성 변경 이벤트입니다. | 컨트롤이 Scroll 컨트롤 패턴을 지원하는 경우 이 이벤트를 지원해야 합니다. |
| UIA_ScrollHorizontalViewSizePropertyId 속성 변경 이벤트입니다. | 컨트롤이 Scroll 컨트롤 패턴을 지원하는 경우 이 이벤트를 지원해야 합니다. |
| UIA_ScrollVerticalScrollPercentPropertyId 속성 변경 이벤트입니다. | 컨트롤이 Scroll 컨트롤 패턴을 지원하는 경우 이 이벤트를 지원해야 합니다. |
| UIA_ScrollVerticallyScrollablePropertyId 속성 변경 이벤트입니다. | 컨트롤이 Scroll 컨트롤 패턴을 지원하는 경우 이 이벤트를 지원해야 합니다. |
| UIA_ScrollVerticalViewSizePropertyId 속성 변경 이벤트입니다. | 컨트롤이 Scroll 컨트롤 패턴을 지원하는 경우 이 이벤트를 지원해야 합니다. |
| UIA_Selection_InvalidatedEventId | 컨트롤이 Selection 컨트롤 패턴을 지원하는 경우 이 이벤트를 지원해야 합니다. |
| UIA_StructureChangedEventId |
관련 항목