ComboBox 컨트롤 형식

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

콤보 상자는 콤보 상자의 목록 상자 부분에서 현재 선택된 항목을 표시하는 정적 컨트롤 또는 편집 컨트롤과 조합된 목록 상자입니다. 컨트롤의 목록 상자 부분은 항상 표시되거나, 사용자가 컨트롤 옆의 드롭다운 화살표(누름 단추)를 선택할 때만 나타납니다. 선택 필드가 편집 컨트롤이면, 사용자가 목록에 없는 정보를 입력할 수 있습니다. 그렇지 않으면 목록에서만 항목을 선택할 수 있습니다.

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

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

일반적인 트리 구조

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

컨트롤 뷰 콘텐츠 뷰
  • ComboBox
    • Edit(0 또는 1개)
    • 목록(0 또는 1)
    • List Item(목록의 자식, 0개 이상)
    • Button(1개)
  • ComboBox
    • List Item(0개 이상)

 

콤보 상자의 컨트롤 뷰에서 편집 컨트롤은 실행 대화 상자의 콤보 상자와 마찬가지로 입력을 위해 콤보 상자를 편집할 수 있는 경우에만 필요합니다.

관련 속성

다음 표에서는 값 또는 정의가 ComboBox 컨트롤 형식과 특히 관련된 UI 자동화 속성을 나열합니다. UI 자동화 속성에 대한 자세한 내용은 UI 자동화 요소에서 속성 검색을 참조하세요.

UI 자동화 속성 참고
UIA_AutomationIdPropertyId 메모를 참조하세요. 이 속성의 값은 UI 자동화 트리의 원시 뷰에 있는 모든 피어 요소에서 고유해야 합니다.
UIA_BoundingRectanglePropertyId 메모를 참조하세요. 전체 컨트롤이 포함된 가장 바깥쪽 사각형입니다.
UIA_ClickablePointPropertyId 메모를 참조하세요. 경계 사각형이 없는 경우 지원됩니다. 경계 사각형 내의 모든 지점을 클릭할 수 없는 경우 요소는 특수 적중 테스트를 수행하고, 재정의하고, 클릭 가능한 지점을 제공합니다.
UIA_ControlTypePropertyId ComboBox
UIA_HelpTextPropertyId 메모를 참조하세요. 콤보 상자 컨트롤에 대한 도움말 텍스트는 사용자에게 콤보 상자에서 옵션을 선택하라는 요청을 받는 이유를 설명해야 합니다. 텍스트는 도구 설명을 통해 제공되는 정보와 비슷합니다. 예: "모니터의 디스플레이 해상도를 설정할 항목을 선택하세요."
UIA_IsContentElementPropertyId TRUE 콤보 상자 컨트롤은 UI 자동화 트리의 콘텐츠 뷰에 항상 포함됩니다.
UIA_IsControlElementPropertyId TRUE 콤보 상자 컨트롤은 UI 자동화 트리의 컨트롤 뷰에 항상 포함됩니다.
UIA_IsKeyboardFocusablePropertyId TRUE 콤보 상자 컨트롤은 키보드 포커스를 받을 수 있습니다. 그러나 UI 자동화 클라이언트가 포커스를 콤보 상자로 설정하면 콤보 상자 하위 트리의 모든 항목이 포커스를 받을 수 있습니다.
UIA_LabeledByPropertyId 메모를 참조하세요. 콤보 상자 컨트롤에는 일반적으로 이 속성이 참조하는 정적 텍스트 레이블이 있습니다.
UIA_LocalizedControlTypePropertyId 메모를 참조하세요. ComboBox 컨트롤 형식에 해당하는 지역화된 문자열입니다. 기본값은 en-US 또는 영어(미국)의 경우 "콤보 상자"입니다.
UIA_NamePropertyId 메모를 참조하세요. 콤보 상자 컨트롤의 이름은 일반적으로 정적 텍스트 레이블에서 생성됩니다. 정적 텍스트 레이블이 없는 경우 Name 속성에 값을 할당해야 합니다. Name 속성은 콤보 상자의 현재 내용을 포함하거나 콤보 상자의 내용이 변경되면 변경되지 않아야 합니다.

 

필수 컨트롤 패턴

다음 표에는 모든 콤보 상자 컨트롤에서 지원해야 하는 UI 자동화 컨트롤 패턴이 나열되어 있습니다. 컨트롤 패턴에 대한 자세한 내용은 UI Automation Control Patterns Overview를 참조하세요.

컨트롤 패턴 지원 메모
IExpandCollapseProvider 필수 콤보 상자 컨트롤에 항상 드롭다운 단추가 포함되어야 하므로 ExpandCollapse 컨트롤 패턴을 지원해야 합니다.
ISelectionProvider 개체 콤보 상자에서 현재 선택 항목을 표시합니다. 선택 컨트롤 패턴에 대한 지원은 콤보 상자 아래의 목록 상자에 위임되지만 항상 가능하지는 않을 수 있습니다.
IValueProvider 개체 콤보 상자에서 임의의 텍스트 값을 사용할 수 있는 경우 컨트롤 패턴이 지원되어야 합니다. 이 패턴을 사용하면 콤보 상자의 문자열 내용을 프로그래밍 방식으로 설정할 수 있습니다. 값 컨트롤 패턴이 지원되지 않는 경우 사용자는 콤보 상자의 하위 트리에 있는 목록 항목 중에서 선택해야 합니다.
IScrollProvider 안 함 스크롤 컨트롤 패턴은 콤보 상자에서 직접 지원되지 않습니다. 콤보 상자에 포함된 목록 상자가 스크롤될 수 있고 목록 상자가 화면에 표시되는 경우에만 지원됩니다.

 

필요한 이벤트

다음 표에서는 콤보 상자 컨트롤이 지원하는 데 필요한 UI 자동화 이벤트를 나열합니다. 이벤트에 대한 자세한 내용은 UI Automation Events Overview를 참조하세요.

UI 자동화 이벤트 참고
UIA_AutomationFocusChangedEventId
UIA_BoundingRectanglePropertyId 속성 변경 이벤트입니다.
UIA_IsEnabledPropertyId 속성 변경 이벤트입니다. 컨트롤이 IsEnabled 속성을 지원하는 경우 이 이벤트를 지원해야 합니다.
속성 변경 이벤트를 UIA_IsOffscreenPropertyId. 컨트롤이 IsOffscreen 속성을 지원하는 경우 이 이벤트를 지원해야 합니다.
UIA_StructureChangedEventId
속성 변경 이벤트를 UIA_ExpandCollapseExpandCollapseStatePropertyId.
속성 변경 이벤트를 UIA_ValueValuePropertyId. 컨트롤이 컨트롤 패턴을 지원하는 경우 이 이벤트를 지원해야 합니다.

 

개념

UI 자동화 컨트롤 형식 개요

UI 자동화 개요