다음을 통해 공유


IUIAutomation6::AddActiveTextPositionChangedEventHandler 메서드(uiautomationclient.h)

활성 텍스트 위치가 변경되는 시기를 처리하는 메서드를 등록합니다.

중요

Microsoft UI 자동화 클라이언트는 IUIAutomationEventHandlerGroup 인터페이스 메서드를 사용하여 여기 및 다양한 IUIAutomation 인터페이스 네임스페이스에 정의된 개별 이벤트 등록 방법 대신 이벤트 수신기를 등록해야 합니다.

구문

HRESULT AddActiveTextPositionChangedEventHandler(
  [in] IUIAutomationElement                               *element,
       TreeScope                                          scope,
  [in] IUIAutomationCacheRequest                          *cacheRequest,
  [in] IUIAutomationActiveTextPositionChangedEventHandler *handler
);

매개 변수

[in] element

이벤트 처리기와 연결된 UI 자동화 요소에 대한 포인터입니다.

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 자동화 클라이언트는 원래 위치에 유지됩니다. 이로 인해 텍스트 읽기 또는 새 위치가 아닌 원래 위치에서 시작하는 다음 항목 명령 이동과 같은 작업이 발생합니다.

마찬가지로 조각 식별자()를 사용하여 새 페이지 URI를 활성화하면 새 페이지가<a href="www.blah.com#C4">Jump to Chapter 4</a> 로드되고 지정된 책갈피로 이동되지만 UI 자동화 클라이언트는 페이지 맨 위에 남습니다.

편집서식 있는 편집컨트롤과 같은 편집 가능한 텍스트 요소의 경우 SelectionChanged 이벤트를 수신 대기할 수 있습니다.

이벤트 구독 취소 요청과 동시에 이벤트를 수신하는 경우 처리기를 구독 취소한 후 이벤트 처리기에 이벤트를 전달할 수 있습니다. COM(구성 요소 개체 모델) 표준을 따르고 참조 수가 0에 도달할 때까지 이벤트 처리기 개체가 삭제되지 않도록 하는 것이 가장 좋습니다. 이벤트 구독을 취소한 직후 이벤트 처리기를 삭제하면 이벤트가 늦게 전달될 경우 액세스 위반이 발생할 수 있습니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 10, 버전 1809[데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server, 버전 1709 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 uiautomationclient.h(UIAutomation.h 포함)

추가 정보

IUIAutomation6::RemoveActiveTextPositionChangedEventHandler, IUIAutomation6 인터페이스