다음을 통해 공유


UI 자동화 속성 개요

Microsoft UI 자동화 공급자는 UI 자동화 요소에 속성을 노출합니다. 속성을 사용하면 클라이언트 애플리케이션이 컨트롤에 대한 정보를 검색할 수 있습니다.

UI 자동화 자동화 요소 속성과 컨트롤 패턴 속성이라는 두 가지 종류의 속성을 노출합니다. 자동화 요소 속성은 컨트롤 형식에 관계없이 모든 UI 자동화 요소에 의해 노출되는 Name, AcceleratorKey 및 ClassName과 같은 일반적인 속성 집합으로 구성됩니다. 대부분의 자동화 요소 속성은 정적 값입니다.

컨트롤 패턴 속성은 특정 컨트롤 패턴을 지원하는 컨트롤에 의해 노출되는 속성입니다. 각 컨트롤 패턴에는 컨트롤이 노출해야 하는 해당 컨트롤 패턴 속성 집합이 있습니다. 예를 들어 Grid 컨트롤 패턴을 지원하는 컨트롤은 ColumnCount 및 RowCount 속성을 노출합니다. 대부분의 컨트롤 패턴 속성은 동적 값입니다.

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

속성 식별자

모든 속성은 속성 식별자(ID)라는 PROPERTYID 숫자 값으로 식별됩니다. 공급자 및 클라이언트는 IRawElementProviderAdviseEvents::AdviseEventAdded 및 IUIAutomationElement::GetCachedPropertyValue같은 메서드 호출에서 숫자 ID를 사용하여 속성 요청을 식별합니다. 각 속성의 데이터 형식 및 기본값을 포함하여 각 UI 자동화 속성 식별자에 대한 자세한 설명은 속성 식별자를 참조하세요.

속성 값

IDockProvider::SetDockPosition(공급자) 또는 IUIAutomationDockPattern::SetDockPosition(클라이언트)과 같이 컨트롤에서 작동하는 메서드를 사용하여 일부 속성을 변경할 수 있지만 모든 속성은 읽기 전용입니다.

속성 값을 검색하는 방법에 대한 자세한 내용은 UI 자동화 Elements에서 속성 검색을 참조하세요.

속성 및 이벤트

UI 자동화 속성과 밀접하게 연관된 것은 속성 변경 이벤트의 개념입니다. 동적 속성의 경우 클라이언트 애플리케이션은 정보 캐시를 업데이트하거나 다른 방법으로 새 정보에 반응할 수 있도록 속성 값이 변경되었음을 알 수 있는 방법이 필요합니다. 클라이언트는 모든 속성에서 속성 변경 이벤트를 수신 대기하도록 등록할 수 있습니다.

UI에 변경이 수행되면 공급자가 이벤트를 발생시킵니다. 예를 들어 확인란을 선택하거나 선택 취소하면 Toggle 컨트롤 패턴의 공급자 구현에 의해 속성 변경 이벤트가 발생합니다. 공급자는 클라이언트가 이벤트 또는 특정 이벤트를 수신 대기하는지에 따라 선택적으로 이벤트를 발생시킬 수 있습니다.

일부 공급자는 이벤트를 발생시키지 않습니다. 이는 요소에 대한 UI 자동화 공급자의 구현에 따라 다릅니다. 예를 들어 목록 상자의 표준 프록시 공급자는 Selection 속성이 변경될 때 속성 변경 이벤트를 발생시키지 않습니다. 이 경우 애플리케이션은 선택 영역이 변경될 때 발생하는 이벤트를 수신 대기해야 합니다(UIA_SelectionItem_ElementSelectedEventId).

클라이언트는 UI 자동화 이벤트 구독에 설명된 대로 이벤트를 구독하여 수신 대기합니다. 특히 속성 변경 이벤트의 경우 클라이언트는 IUIAutomationPropertyChangedEventHandler를 구현하고 인터페이스를 IUIAutomation::AddPropertyChangedEventHandler 또는 IUIAutomation::AddPropertyChangedEventHandlerNativeArray에 전달해야 합니다.

참조

GetCurrentPropertyValue

GetCurrentPropertyValueEx

GetCachedPropertyValue

GetCachedPropertyValueEx

개념

UI 자동화 컨트롤 패턴 개요

UI 자동화 컨트롤 형식 개요

UI 자동화 이벤트 개요