다음을 통해 공유


트리 컨트롤 형식

이 항목에서는 트리 컨트롤 형식에 대한 Microsoft UI 자동화 지원에 대한 정보를 제공합니다.

트리 컨트롤 형식은 Windows Explorer 왼쪽 창에 파일 및 폴더가 표시되는 방식과 마찬가지로 콘텐츠가 노드의 계층 구조로 관련성이 있는 컨테이너에 사용됩니다. 각 노드에는 자식 노드라고 하는 다른 노드가 포함될 수 있습니다. 부모 노드, 즉 자식 노드를 포함하는 노드를 확장 또는 축소된 상태로 표시할 수 있습니다. Windows 트리 뷰 컨트롤( WC_TREEVIEW 식별됨)은 트리 컨트롤 형식에 속하는 컨트롤의 예입니다.

다음 섹션에서는 트리 컨트롤 형식에 필요한 UI 자동화 트리 구조, 속성, 컨트롤 패턴 및 이벤트를 정의합니다. UI 자동화 요구 사항은 UI 프레임워크/플랫폼이 컨트롤 형식 및 컨트롤 패턴에 대한 UI 자동화 지원을 통합하는 모든 트리 항목 컨트롤에 적용됩니다.

이 항목에는 다음과 같은 섹션이 포함되어 있습니다.

일반적인 트리 구조

다음 표에서는 트리 컨트롤과 관련된 UI 자동화 트리의 일반적인 컨트롤 및 콘텐츠 뷰를 설명하고 각 보기에 포함할 수 있는 내용을 설명합니다. UI 자동화 트리에 대한 자세한 내용은 UI 자동화 트리 개요를 참조하세요.

컨트롤 뷰 콘텐츠 뷰
  • 트리
    • DataItem(0개 이상)
    • TreeItem(0개 이상)
      • TreeItem(0개 이상)
        • ...
    • ScrollBar(0, 1, 2개)
  • 트리
    • DataItem(0개 이상)
    • TreeItem(0개 이상)
      • TreeItem(0개 이상)
        • ...

 

UI 자동화 트리의 컨트롤 뷰는 다음과 같이 구성되어 있습니다.

  • 컨테이너 내에 많은 항목이 0개 있습니다(항목은 TreeItem 또는 DataItem 컨트롤 형식을 기반으로 할 수 있음).
  • 0, 1 또는 2개의 스크롤 막대 컨트롤

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

 

개념

UI 자동화 컨트롤 형식 개요

UI 자동화 개요