Función GetTabbedTextExtentA (winuser.h)
La función GetTabbedTextExtent calcula el ancho y el alto de una cadena de caracteres. Si la cadena contiene uno o varios caracteres de tabulación, el ancho de la cadena se basa en las tabulaciones especificadas. La función GetTabbedTextExtent usa la fuente seleccionada actualmente para calcular las dimensiones de la cadena.
Sintaxis
DWORD GetTabbedTextExtentA(
[in] HDC hdc,
[in] LPCSTR lpString,
[in] int chCount,
[in] int nTabPositions,
[in] const INT *lpnTabStopPositions
);
Parámetros
[in] hdc
Identificador del contexto del dispositivo.
[in] lpString
Puntero a la cadena de caracteres.
[in] chCount
Longitud de la cadena de texto. Para la función ANSI, es un recuento de BYTES y para la función Unicode es un recuento de PALABRAs. Tenga en cuenta que, para la función ANSI, los caracteres de las páginas de códigos SBCS toman un byte cada uno, mientras que la mayoría de los caracteres de las páginas de códigos DBCS toman dos bytes; para la función Unicode, la mayoría de los caracteres Unicode definidos actualmente (los del plano multilingüe básico (BMP)) son una PALABRA mientras que los suplentes Unicode son dos WORD.
[in] nTabPositions
Número de posiciones de tabulación en la matriz a las que apunta el parámetro lpnTabStopPositions .
[in] lpnTabStopPositions
Puntero a una matriz que contiene las posiciones de tabulación, en unidades de dispositivo. Las tabulaciones deben ordenarse en orden creciente; el valor x más pequeño debe ser el primer elemento de la matriz.
Valor devuelto
Si la función se ejecuta correctamente, el valor devuelto es las dimensiones de la cadena en unidades lógicas. El alto está en la palabra de orden alto y el ancho está en la palabra de orden bajo.
Si se produce un error en la función, el valor devuelto es 0. GetTabbedTextExtent producirá un error si hDC no es válido y si nTabPositions es menor que 0.
Comentarios
La región de recorte actual no afecta al ancho y alto devuelto por la función GetTabbedTextExtent .
Dado que algunos dispositivos no colocan caracteres en matrices de celdas normales (es decir, en kern los caracteres), es posible que la suma de las extensiones de los caracteres de una cadena no sea igual a la medida de la cadena.
Si el parámetro nTabPositions es cero y el parámetro lpnTabStopPositions es NULL, las pestañas se expanden a ocho veces el ancho medio de caracteres.
Si nTabPositions es 1, las tabulaciones se separan por la distancia especificada por el primer valor de la matriz a la que apunta lpnTabStopPositions .
Nota
El encabezado winuser.h define GetTabbedTextExtent 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 neutro de codificación con código que no es neutral de codificación puede provocar discrepancias que dan lugar a errores de compilación o en tiempo de ejecución. Para obtener más información, vea Convenciones para prototipos de función.
Requisitos
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 | winuser.h (incluya Windows.h) |
Library | User32.lib |
Archivo DLL | User32.dll |