Función GetTextExtentPoint32A (wingdi.h)
La función GetTextExtentPoint32 calcula el ancho y alto de la cadena de texto especificada.
Sintaxis
BOOL GetTextExtentPoint32A(
[in] HDC hdc,
[in] LPCSTR lpString,
[in] int c,
[out] LPSIZE psizl
);
Parámetros
[in] hdc
Identificador del contexto del dispositivo.
[in] lpString
Puntero a un búfer que especifica la cadena de texto. No es necesario que la cadena termine en null, porque el parámetro c especifica la longitud de la cadena.
[in] c
Longitud de la cadena a la que apunta lpString.
[out] psizl
Puntero a una estructura SIZE que recibe las dimensiones de la cadena, en unidades lógicas.
Valor devuelto
Si la función se realiza correctamente, el valor devuelto es distinto de cero.
Si la función no se realiza correctamente, el valor devuelto es cero.
Comentarios
La función GetTextExtentPoint32 usa la fuente seleccionada actualmente para calcular las dimensiones de la cadena. El ancho y alto, en unidades lógicas, se calculan sin tener en cuenta ningún recorte.
Dado que algunos dispositivos de kern caracteres, es posible que la suma de las extensiones de los caracteres de una cadena no sea igual a la extensión de la cadena.
El ancho de cadena calculado tiene en cuenta el intercalado establecido por la función SetTextCharacterExtra y la justificación establecida por SetTextJustification. Esto es cierto tanto para mostrar en una pantalla como para imprimir. Sin embargo, si lpDx se establece en ExtTextOut, GetTextExtentPoint32 no tiene en cuenta el intercalado ni la justificación. Además, para EMF, el resultado de impresión siempre tiene en cuenta tanto el espaciado intercharacter como la justificación.
Al tratar con el texto que se muestra en una pantalla, el ancho de cadena calculado tiene en cuenta el espaciado intercharacter establecido por la función SetTextCharacterExtra y la justificación establecida por SetTextJustification. Sin embargo, si lpDx se establece en ExtTextOut, GetTextExtentPoint32 no tiene en cuenta el intercalado ni la justificación. Sin embargo, al imprimir con EMF:
- El resultado de impresión omite el espaciado intercharacter, aunque GetTextExtentPoint32 lo tiene en cuenta.
- El resultado de impresión tiene en cuenta la justificación, aunque GetTextExtentPoint32 lo omite.
GetTextExtentPoint32 no tiene en cuenta los caracteres "\n" (nueva línea) o "\r\n" (retorno de carro y nueva línea) cuando calcula el alto de una cadena de texto.
Ejemplos
Para obtener un ejemplo, vea Dibujar texto de diferentes fuentes en la misma línea.
Nota
El encabezado wingdi.h define GetTextExtentPoint32 como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Convenciones para prototipos de función.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 2000 Professional [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows 2000 Server [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | wingdi.h (incluye Windows.h) |
Library | Gdi32.lib |
Archivo DLL | Gdi32.dll |