IDWriteTextLayout::HitTestTextRange 메서드(dwrite.h)

애플리케이션은 이 함수를 호출하여 텍스트 위치 범위에 해당하는 적중 테스트 메트릭 집합을 가져옵니다. 기본 사용 중 하나는 텍스트 문자열의 강조 표시 선택을 구현하는 것입니다.

함수는 hitTestMetrics의 버퍼 크기가 너무 작아 함수에서 계산한 모든 영역을 보유할 수 없는 경우 HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER)와 동일한 E_NOT_SUFFICIENT_BUFFER 반환합니다. 이 경우 함수는 출력 값 *actualHitTestMetricsCount를 계산된 기하 도형 수로 설정합니다.

애플리케이션은 더 큰 크기의 새 버퍼를 할당하고 함수를 다시 호출해야 합니다.

maxHitTestMetricsCount의 초기 값으로 사용할 좋은 값은 다음 수식에서 계산할 수 있습니다.

maxHitTestMetricsCount = lineCount * maxBidiReorderingDepth

여기서 lineCount는 출력 인수 *actualLineCount의 값( IDWriteTextLayout::GetLineLengths 함수에서) 및 출력 인수 *textMetrics의 DWRITE_TEXT_METRICS 구조에서 maxBidiReorderingDepth 값( 함수 IDWriteFactory::CreateTextLayout에서)에서 가져옵니다.

구문

HRESULT HitTestTextRange(
                  UINT32                  textPosition,
                  UINT32                  textLength,
                  FLOAT                   originX,
                  FLOAT                   originY,
  [out, optional] DWRITE_HIT_TEST_METRICS *hitTestMetrics,
                  UINT32                  maxHitTestMetricsCount,
  [out]           UINT32                  *actualHitTestMetricsCount
);

매개 변수

textPosition

형식: UINT32

지정된 범위의 첫 번째 텍스트 위치입니다.

textLength

형식: UINT32

지정된 범위의 위치 수입니다.

originX

형식: FLOAT

레이아웃 상자 왼쪽의 원본 픽셀 위치 X입니다. 이 오프셋은 반환된 적중 테스트 메트릭에 추가됩니다.

originY

형식: FLOAT

레이아웃 상자 맨 위에 있는 원본 픽셀 위치 Y입니다. 이 오프셋은 반환된 적중 테스트 메트릭에 추가됩니다.

[out, optional] hitTestMetrics

형식: DWRITE_HIT_TEST_METRICS*

이 메서드가 반환될 때 는 지정된 위치 범위를 완전히 묶는 출력 기하 도형의 버퍼에 대한 포인터를 포함합니다. 버퍼는 maxHitTestMetricsCount만큼 커야 합니다.

maxHitTestMetricsCount

형식: UINT32

hitTestMetrics가 버퍼 메모리에 보유할 수 있는 최대 상자 수입니다.

[out] actualHitTestMetricsCount

형식: UINT32*

버퍼 메모리에 있는 hitTestMetrics의 실제 기하 도형 수입니다.

반환 값

형식: HRESULT

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

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 7, Windows Vista SP2 및 Windows Vista용 플랫폼 업데이트가 포함된 Windows Vista [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 Windows Server 2008 R2, Windows Server 2008 SP2 및 Windows Server 2008용 플랫폼 업데이트 [데스크톱 앱 | UWP 앱]
대상 플랫폼 Windows
헤더 dwrite.h
라이브러리 Dwrite.lib
DLL Dwrite.dll

추가 정보

IDWriteTextLayout