Método IDWriteTextLayout::HitTestTextRange (dwrite.h)

La aplicación llama a esta función para obtener un conjunto de métricas de prueba de posicionamiento correspondientes a un intervalo de posiciones de texto. Uno de los usos principales es implementar la selección de resaltado de la cadena de texto.

La función devuelve E_NOT_SUFFICIENT_BUFFER, que es equivalente a HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER), cuando el tamaño del búfer de hitTestMetrics es demasiado pequeño para contener todas las regiones calculadas por la función. En esta situación, la función establece el valor de salida *actualHitTestMetricsCount en el número de geometrías calculadas.

La aplicación es responsable de asignar un nuevo búfer de mayor tamaño y volver a llamar a la función.

Un buen valor que se usará como valor inicial para maxHitTestMetricsCount se puede calcular a partir de la ecuación siguiente:

maxHitTestMetricsCount = lineCount * maxBidiReorderingDepth

donde lineCount se obtiene del valor del argumento de salida *actualLineCount (de la función IDWriteTextLayout::GetLineLengths) y del valor maxBidiReorderingDepth de la estructura DWRITE_TEXT_METRICS del argumento de salida *textMetrics (de la función IDWriteFactory::CreateTextLayout).

Sintaxis

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

Parámetros

textPosition

Tipo: UINT32

Primera posición de texto del intervalo especificado.

textLength

Tipo: UINT32

Número de posiciones del intervalo especificado.

originX

Tipo: FLOAT

Ubicación del píxel de origen X a la izquierda del cuadro de diseño. Este desplazamiento se agrega a las métricas de prueba de posicionamiento devueltas.

originY

Tipo: FLOAT

Ubicación del píxel de origen Y en la parte superior del cuadro de diseño. Este desplazamiento se agrega a las métricas de prueba de posicionamiento devueltas.

[out, optional] hitTestMetrics

Tipo: DWRITE_HIT_TEST_METRICS*

Cuando este método vuelve, contiene un puntero a un búfer de la geometría de salida que incluye completamente el intervalo de posición especificado. El búfer debe ser al menos tan grande como maxHitTestMetricsCount.

maxHitTestMetricsCount

Tipo: UINT32

El número máximo de cuadros que hitTestMetrics podría contener en su memoria de búfer.

[out] actualHitTestMetricsCount

Tipo: UINT32*

Número real de geometrías que hitTestMetrics contiene en su memoria de búfer.

Valor devuelto

Tipo: HRESULT

Si este método se realiza correctamente, devuelve S_OK. De lo contrario, devuelve un código de error de HRESULT.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 7, Windows Vista con SP2 y Platform Update para Windows Vista [aplicaciones de escritorio | Aplicaciones para UWP]
Servidor mínimo compatible Windows Server 2008 R2, Windows Server 2008 con SP2 y Actualización de plataforma para Windows Server 2008 [aplicaciones de escritorio | Aplicaciones para UWP]
Plataforma de destino Windows
Encabezado dwrite.h
Library Dwrite.lib
Archivo DLL Dwrite.dll

Consulte también

IDWriteTextLayout