6. UI 자동화 이벤트, 가. UI 자동화 이벤트 형식

UI 자동화 이벤트는 보조 기술이나 UI 자동화 클라이언트 응용을 위한 핵심 기술입니다. 보조 기술이나 접근성 평가 도구와 같은 UI 자동화 클라이언트에서는 자동화 요소의 변화를 감지하여 필요한 정보를 최종 사용자에게 알려주기 위하여 UI 자동화 이벤트를 사용합니다.

 

가.  UI 자동화 이벤트 형식

 

UI 자동화 이벤트는 크게 속성 변경, 요소 동작, 구조 변경, 전역 데스크톱 변경으로 분류합니다.

 

속성 변경 이벤트는 레이블의 캡션명이 바뀌거나 체크 박스의 체크 상태가 바뀌는 등의 자동화 요소의 속성이 변경할 때 발생하는 UI 자동화 이벤트입니다. 요소 동작 이벤트는 버튼을 클릭하는 것처럼 사용자의 명령으로 UI를 변경할 때 발생합니다. 구조 변경 이벤트는 UI 자동화 트리의 구조에 변경이 생길 때 발생합니다. 전역 데스크톱 이벤트는 초점이 바뀌거나 창이 열리고 닫히는 등의 전역적인 작업을 수행할 때 발생하는 UI 자동화 이벤트입니다.

 

그리고 UI 자동화 이벤트는 AutomationEvent 개체로 식별합니다. 다음은 UI 자동화 클라이언트 응용에서 자동화 이벤트를 식별하는 자동화 요소의 멤버 필드입니다. 대부분의 UI 자동화 기술에 관한 내용은 Microsoft 사에서 제공하는 MSDN을 발췌하였습니다.

비동기 콘텐츠 로드 도중 발생하는 이벤트를 식별합니다.

선택한 항목의 컬렉션에 항목을 추가할 때 발생하는 이벤트를 식별합니다.

선택한 항목의 컬렉션에 항목을 제거할 때 발생하는 이벤트를 식별합니다.

Select, AddToSelection, RemoveFromSelection 호출하였을 때 항목이 하나만 선택 상태일 때 발생하는 이벤트를 식별합니다.

컨테이너의 선택 영역 변경으로 InvalidateLimit 상수보다 많은 수의 추가나 제거 이벤트를 전송할 때 발생하는 이벤트를 식별합니다.

컨트롤을 호출하거나 활성화할 때 발생하는 이벤트를 식별합니다.

레이아웃을 무효화할 때 발생하는 이벤트를 식별합니다.

메뉴를 닫을 때 발생하는 이벤트를 식별합니다.

메뉴를 열 때 발생하는 이벤트를 식별합니다.

텍스트를 변경할 때 발생하는 이벤트를 식별합니다.

텍스트의 선택 영역을 변경할 때 발생하는 이벤트를 식별합니다.

도구 설명을 닫을 때 발생하는 이벤트를 식별합니다.

도구 설명을 열 때 발생하는 이벤트를 식별합니다.

창을 열 때 발생하는 이벤트를 식별합니다.

초점을 변경할 때 발생하는 이벤트를 식별합니다.

속성을 변경할 때 발생하는 이벤트를 식별합니다.

UI 자동화 트리 구조가 바뀌면 발생하는 이벤트를 식별합니다.

창이 닫힐 때 발생하는 이벤트를 식별합니다.

 

그리고 자동화 이벤트 핸들러에는 자동화 클라이언트 응용에서 필요한 인자를 전달합니다.

System.Object
System.EventArgs
System.Windows.Automation.AutomationEventArgs
System.Windows.Automation.AsyncContentLoadedEventArgs
System.Windows.Automation.AutomationFocusChangedEventArgs
System.Windows.Automation.AutomationPropertyChangedEventArgs
System.Windows.Automation.StructureChangedEventArgs
System.Windows.Automation.WindowClosedEventArgs

 

  • AutomationEventArgs

자동화 이벤트 인자 클래스의 기반 클래스입니다. 멤버 속성으로 이벤트 식별자를 제공합니다.

 

  • AsyncContentLoadedEventArgs

 

AsyncContentLoadedEvent 핸들러에 전달하는 이벤트 인자 클래스입니다. 멤버 속성으로 콘텐츠의 로드 상태와 로드한 백분율 및 이벤트 식별자를 제공합니다.

 

 

  • AutomationFocusChangedEventArgs

초점 변경 이벤트 핸들러의 이벤트 인자 클래스입니다. 멤버 속성으로 자동화 요소 기술의 이전에 사용했던 Microsoft Active Accessibility의 ID를 가져올 수 있습니다.

 

  • AutomationPropertyChangedEventArgs

속성 변경 이벤트 핸들러의 이벤트 인자 클래스입니다. 멤버 속성으로 변경 전, 후의 값과 속성을 식별하기 위한 멤버를 제공합니다.

 

  • StructureChangedEventArgs

속성 변경 이벤트 핸들러의 이벤트 인자 클래스입니다. 멤버 속성으로 구조 변경 타입을 제공합니다.

 

  • WindowClosedEventArgs

속성 변경 이벤트 핸들러의 이벤트 인자 클래스입니다. 멤버 속성으로 구조 변경 타입을 제공합니다.