다음을 통해 공유


TreeItem 컨트롤 형식

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

TreeItem 컨트롤 형식은 트리 컨테이너 내의 노드를 나타냅니다. 각 노드에는 자식 노드라고 하는 다른 노드가 포함될 수 있습니다. 부모 노드, 즉 자식 노드를 포함하는 노드를 확장 또는 축소된 상태로 표시할 수 있습니다.

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

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

일반적인 트리 구조

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

컨트롤 뷰 콘텐츠 뷰
  • TreeItem
    • CheckBox(0 또는 1개)
    • Image(0 또는 1개)
    • Button (0 또는 1개)
    • TreeItem(0개 이상)
  • TreeItem
    • TreeItem(0개 이상)

 

트리 항목 컨트롤은 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 자동화 트리 구조는 트리 계층 자체에 의해 처리됩니다. 하나 이상의 비 개요 노드 자식이 있으면 자식 노드와 실제 자식 개요 노드 간의 차이가 심각하게 모호해집니다.

개념

UI 자동화 컨트롤 형식 개요

UI 자동화 개요