IUIAutomation6::AddActiveTextPositionChangedEventHandler 메서드(uiautomationclient.h)
현재 텍스트 위치가 변경되는 시기를 처리하는 메서드를 등록합니다.
중요하다
Microsoft UI 자동화 클라이언트는 IUIAutomationEventHandlerGroup 인터페이스 메서드를 사용하여 여기 및 다양한 IUIAutomation 인터페이스 네임스페이스에 정의된 개별 이벤트 등록 방법 대신 이벤트 수신기를 등록해야 합니다.
통사론
HRESULT AddActiveTextPositionChangedEventHandler(
[in] IUIAutomationElement *element,
[in] TreeScope scope,
[in] IUIAutomationCacheRequest *cacheRequest,
[in] IUIAutomationActiveTextPositionChangedEventHandler *handler
);
매개 변수
[in] element
이벤트 처리기와 연결된 UI 자동화 요소에 대한 포인터입니다.
[in] scope
처리할 이벤트의 범위입니다. 즉, 요소 자체에 있든, 상위 항목과 하위 항목에 있는지 여부입니다.
[in] cacheRequest
캐시 요청에 대한 포인터이거나 캐싱이 필요하지 않은 경우 NULL입니다.
[in] handler
활성 텍스트 위치 변경 이벤트를 처리하는 개체에 대한 포인터입니다.
반환 값
이 메서드가 성공하면 S_OK 반환합니다. 그렇지 않으면 HRESULT 오류 코드를 반환합니다.
발언
이벤트 처리기를 구현하기 전에 스레딩 문제 이해설명된 스레딩 문제에 대해 잘 알고 있어야 합니다.
활성 텍스트 위치는 책갈피(또는 리소스 내의 위치를 참조하는 조각 식별자)를 사용하여 읽기 전용 텍스트 요소(예: 웹 브라우저, PDF(이식 가능한 문서 형식) 문서 또는 EPUB 문서) 내 또는 간 탐색 이벤트로 표시됩니다. 예를 들면 다음과 같습니다.
- 동일한 웹 페이지 내의 책갈피로 이동
- 다른 웹 페이지의 책갈피로 이동
- 동일한 PDF 내의 다른 위치에 대한 링크 활성화
- 동일한 EPUB 내의 다른 위치에 대한 링크 활성화
이 이벤트 처리기를 사용하여 책갈피/대상의 시각적 위치를 읽기 전용 텍스트 요소의 포커스 위치와 동기화합니다. 이 위치는 책갈피 또는 조각 식별자를 사용할 때 다양할 수 있습니다.
예를 들어 동일한 페이지 앵커(<a href="#C4">Jump to Chapter 4</a> ...<h1><a name="C4">Chapter 4</a></h1>
)가 호출되면 시각적 위치가 업데이트되지만 UI 자동화 클라이언트는 원래 위치에 유지됩니다. 이렇게 하면 텍스트 읽기 또는 새 위치가 아닌 원래 위치에서 시작하는 다음 항목 명령 이동과 같은 작업이 발생합니다.
마찬가지로 조각 식별자(<a href="www.blah.com#C4">Jump to Chapter 4</a>
)를 사용하여 새 페이지 URI를 활성화하면 새 페이지가 로드되고 지정된 책갈피로 이동되지만 UI 자동화 클라이언트는 페이지 맨 위에 남습니다.
편집 및 Rich Edit컨트롤과 같은 편집 가능한 텍스트 요소의 경우 SelectionChanged 이벤트를 수신 대기할 수 있습니다.
이벤트 구독 취소 요청과 동시에 이벤트를 수신하는 경우 처리기를 구독 취소한 후 이벤트 처리기에 이벤트를 전달할 수 있습니다. COM(구성 요소 개체 모델) 표준을 따르고 참조 수가 0에 도달할 때까지 이벤트 처리기 개체가 삭제되지 않도록 하는 것이 가장 좋습니다. 이벤트 구독을 취소한 직후 이벤트 처리기를 삭제하면 이벤트가 늦게 전달될 경우 액세스 위반이 발생할 수 있습니다.
요구 사항
요구 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 10 버전 1809 [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 버전 1709 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | uiautomationclient.h(UIAutomation.h 포함) |
참고 항목
IUIAutomation6::RemoveActiveTextPositionChangedEventHandler, IUIAutomation6 인터페이스