ITextRangeProvider::Move 메서드(uiautomationcore.h)

텍스트 범위를 지정된 텍스트 단위 수만큼 앞으로 또는 뒤로 이동합니다.

통사론

HRESULT Move(
  [in]          TextUnit unit,
  [in]          int      count,
  [out, retval] int      *pRetVal
);

매개 변수

[in] unit

형식: textUnit

문자, 단어, 단락 등과 같은 텍스트 단위의 형식입니다.

[in] count

형식: int

이동할 텍스트 단위의 수입니다. 양수 값은 텍스트 범위를 앞으로 이동합니다.

음수 값은 텍스트 범위를 뒤로 이동합니다. 0은 효과가 없습니다.

[out, retval] pRetVal

형식: int*

실제로 이동한 텍스트 단위의 수입니다. 새 텍스트 범위 엔드포인트 중 하나가 ITextProvider::D ocumentRange 메서드에서 검색한 엔드포인트보다 크거나 작은 경우 요청된 수보다 작을 수 있습니다. 탐색이 뒤로 진행되는 경우 이 값은 음수일 수 있습니다.

반환 값

형식: HRESULT

이 메서드가 성공하면 S_OK반환됩니다. 그렇지 않으면 HRESULT 오류 코드를 반환합니다.

발언

ITextRangeProvider::이동 텍스트의 다른 부분에 걸쳐 텍스트 범위를 이동 해야 합니다. 어떤 방식으로든 텍스트를 변경 하지 않아야 합니다.

비제곱(비어있지 않은) 텍스트 범위의 경우 ITextRangeProvider::Move 다음 단계를 수행하여 텍스트 범위를 정규화하고 이동해야 합니다.

  1. 텍스트 범위를 시작 엔드포인트의 퇴화(빈) 범위로 축소합니다.
  2. 필요한 경우 문서의 결과 텍스트 범위를 요청된 단위 경계의 시작 부분으로 이동합니다.
  3. 문서의 텍스트 범위를 요청된 텍스트 단위 경계 수만큼 앞으로 또는 뒤로 이동합니다.
  4. 요청된 텍스트 단위 경계를 기준으로 끝 엔드포인트를 앞으로 이동하여 퇴행 상태에서 텍스트 범위를 확장합니다.
이전 단계 중 하나라도 실패하면 텍스트 범위는 변경되지 않은 상태로 유지되어야 합니다. 텍스트 범위를 요청된 텍스트 단위 수만큼 이동할 수 없지만 더 적은 수의 텍스트 단위로 이동할 수 있는 경우 텍스트 범위를 더 적은 수의 텍스트 단위로 이동해야 하며 pRetVal 성공적으로 이동한 텍스트 단위 수로 설정해야 .

퇴행 텍스트 범위의 경우 ITextRangeProvider::Move 텍스트 삽입 지점을 지정한 텍스트 단위 수만큼 이동하기만 하면 됩니다.

텍스트 범위를 이동할 때 공급자는 텍스트에 포함된 개체의 경계를 무시해야 합니다.

ITextRangeProvider::이동 숨겨진 텍스트와 표시되는 텍스트를 모두 준수해야 합니다.

텍스트 기반 컨트롤이 단위 매개 변수로 지정된 텍스트 단위를 지원하지 않는 경우 공급자는 지원되는 다음 큰 텍스트 단위로 대체해야 합니다.

텍스트 단위의 크기는 가장 작은 단위에서 가장 큰 단위로 다음과 같습니다.

  • 문자
  • 단어
  • 단락
  • 페이지
  • 문서

단위TextUnit::Format 경우 범위 동작

TextUnit::Format 단위로 값은 텍스트 범위의 경계를 배치하여 범위 내에서 텍스트의 공유 텍스트 특성(형식)에 따라 범위를 확장하거나 이동합니다. 그러나 서식 텍스트 단위를 사용하면 이미지 또는 하이퍼링크와 같은 포함된 개체의 경계를 넘어 텍스트 범위를 이동하거나 확장해서는 안 됩니다. 자세한 내용은 UI 자동화 텍스트 단위 또는 텍스트 및 TextRange 컨트롤 패턴참조하세요.

요구 사항

요구
지원되는 최소 클라이언트 Windows XP [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱 | UWP 앱]
대상 플랫폼 Windows
헤더 uiautomationcore.h(UIAutomation.h 포함)

참고 항목

개념

ITextProvider

ITextRangeProvider

참조

텍스트 및 TextRange 컨트롤 패턴

UI 자동화 공급자 개요