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

Consulte también

Funciones de fuente y texto

Información general sobre fuentes y texto

GetTextExtentPoint32

TabbedTextOut