반응형

접근성 평가 도구 만들기 5

9. 접근성 평가 도구 만들기 - 11. MakeProjectEvent 핸들러와 인자 클래스 구현

9.2.8 MakeProjectEvent 핸들러와 인자 클래스 접근성 평가 프로젝트를 생성 과정에서 선택한 프로세스의 메인 창의 자동화 요소를 검색을 비롯하여 평가에 필요한 정보를 수집하여 접근성 평가 프로젝트 개체를 생성할 때 이를 통보하는 이벤트 핸들러와 인자 클래스를 정의합시다. using System;using System.Data; namespace 예제_9_접근성_평가_도우미{ public delegate void MakeProjectEventHandler( object sender,MakeProjectEventArgs e); public class MakeProjectEventArgs:EventArgs { public AccEvalProject AccEvalProject { get; priv..

9. 접근성 평가 도구 만들기 - 10. AccEvalProject 클래스 구현

9.2.7 AccEvalProject 클래스 접근성 평가 프로젝트의 주요 정보를 수집하고 이를 관리하는 클래스를 정의합시다. 클래스의 이름은 AccEvalProject라고 정할게요. AccEvalProject에서는 자동화 요소를 수집하여 계층적인 형태로 보관하는 부분이 있습니다. 그리고 폼에서 특정 노드를 선택하면 해당 노드와 매핑하는 자동화 요소를 찾을 수 있어야 하는데 여기서는 자동화 요소를 구분할 수 있는 문자열과 트리 노드를 쌍으로 하는 사전을 멤버로 선언할게요. Dictionary node_dic = null; 그리고 평가 프로젝트를 종료할 때 이 사실을 통보하기 위한 이벤트와 평가 대상 창의 사각 영역이 변경되었을 때 통보하기 위한 이벤트를 선언할게요. public event EventHand..

9. 접근성 도구 만들기 - 8. FindAutoElemEvent 핸들러와 인자 클래스 구현

9.2.6 FindAutoElemEvent 핸들러와 인자 클래스 접근성 평가 프로젝트를 생성 과정에서 선택한 프로세스의 메인 창의 자동화 요소를 검색하는 부분이 필요합니다. 이 때 검색한 자동화 요소의 정보를 시각화하는 등의 정보가 필요한 곳에서는 자동화 요소를 검색이 이루어질 때마다 검색한 정보를 알 필요가 생깁니다. 이에 래핑한 자동화 요소를 참조할 수 있는 인자 클래스를 정의하고 이벤트를 발생한 개체와 인자를 입력 인자로하는 대리자를 정의할게요. using System; namespace 예제_9_접근성_평가_도우미{ public delegate void FindAutoElemEventHandler(object sender, FindAutoElemEventArgs e); public class Fi..

9. 접근성 평가 도구 만들기 - 7. EHAutoElem 클래스

9.2.5 EHAutoElem 클래스 자동화 요소와 해당 요소에서 지원하는 컨트롤 패턴을 참조할 수 있는 클래스입니다. 그리고 추가로 해당 요소의 화면을 캡쳐한 이미지를 멤버로 갖고 있습니다. 자동화 기술을 사용하기 위해 UIAutomationClient.dll, UIAutomationTypes.dll 어셈블리를 참조 추가합니다. 멤버 필드로 컨트롤 유형 열거형을 키로 컨트롤 패턴을 값으로 하는 사전을 생성하여 자동화 요소의 지원 컨트롤 패턴을 보관하고 필요할 때 참조하기 쉽게 제공할게요. Dictionary pt_dic = new Dictionary(); 접근성 속성을 저장하는 리스트를 두어 참조하기 쉽게 할게요. List curval = new List(); 접근성 요소의 화면 영역을 캡쳐한 비트맵 ..

9. 접근성 평가 도구 만들기 - 6. EHProcess 클래스

9.2.4 EHProcess 클래스 EHProcess 클래스는 단순히 Process 클래스를 래핑하여 기본 정보를 속성으로 다시 제공하는 클래스입니다. 평가 프로젝트를 생성하는 단계에서 프로세스 항목을 리스트 박스에 추가할 때 프로세스 이름과 메인 창의 타이틀 정보의 조합을 출력할 수 있게 하기 위해 정의한 클래스이며 이 외에 다른 역할은 수행하지 않습니다. using System;using System.Diagnostics; namespace 예제_9_접근성_평가_도우미{ public class EHProcess { public Process Process { get; private set; } public string ProcessName { get { return Process.ProcessName..

반응형