Share via


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

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

구문

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

매개 변수

unit

[in] count

형식: int

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

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

[out, retval] pRetVal

형식: int*

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

반환 값

형식: HRESULT

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

설명

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

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

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

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

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

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

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

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

  • 문자
  • 서식
  • Word
  • Paragraph
  • 페이지
  • 문서

단위가 인 경우의 범위 동작TextUnit::Format

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

요구 사항

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

추가 정보

개념

ITextProvider

ITextRangeProvider

참조

텍스트 및 TextRange 컨트롤 패턴

UI 자동화 공급자 개요