Función GetTextExtentExPointA (wingdi.h)
La función GetTextExtentExPoint recupera el número de caracteres de una cadena especificada que cabe dentro de un espacio especificado y rellena una matriz con la extensión de texto para cada uno de esos caracteres. (Una extensión de texto es la distancia entre el principio del espacio y un carácter que caberá en el espacio). Esta información es útil para los cálculos de ajuste de palabras.
Sintaxis
BOOL GetTextExtentExPointA(
[in] HDC hdc,
[in] LPCSTR lpszString,
[in] int cchString,
[in] int nMaxExtent,
[out] LPINT lpnFit,
[out] LPINT lpnDx,
[out] LPSIZE lpSize
);
Parámetros
[in] hdc
Identificador del contexto del dispositivo.
[in] lpszString
Puntero a la cadena terminada en null para la que se van a recuperar las extensiones.
[in] cchString
Número de caracteres de la cadena a la que apunta el parámetro lpszStr. Para una llamada ANSI, especifica la longitud de cadena en bytes y para un Unicode especifica la longitud de cadena en WORDs. 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] nMaxExtent
Ancho máximo permitido, en unidades lógicas, de la cadena con formato.
[out] lpnFit
Puntero a un entero que recibe un recuento del número máximo de caracteres que caberán en el espacio especificado por el parámetro nMaxExtent. Cuando el parámetro lpnFit de
[out] lpnDx
Puntero a una matriz de enteros que recibe extensiones de cadena parciales. Cada elemento de la matriz proporciona la distancia, en unidades lógicas, entre el principio de la cadena y uno de los caracteres que encajan en el espacio especificado por el parámetro nMaxExtent. Esta matriz debe tener al menos tantos elementos como caracteres especificados por el parámetro cchString porque toda la matriz se usa internamente. La función rellena la matriz con extensiones válidas para tantos caracteres como se especifican en el parámetro lpnFit. Se deben omitir los valores del resto de la matriz. Si alpDx es null, la función no calcula anchos de cadena parciales.
Para scripts complejos, donde una secuencia de caracteres puede representarse mediante cualquier número de glifos, los valores de la matriz alpDx de
[out] lpSize
Puntero a una estructura SIZE que recibe las dimensiones de la cadena, en unidades lógicas. Este parámetro no puede ser NULL.
Valor devuelto
Si la función se ejecuta correctamente, el valor devuelto es distinto de cero.
Si se produce un error en la función, el valor devuelto es cero.
Observaciones
Si los parámetros de
Para la versión ANSI de
Tenga en cuenta que los valores de
Cuando esta función devuelve la extensión de texto, se supone que el texto es horizontal, es decir, que el escape siempre es 0. Esto es cierto para las medidas horizontales y verticales del texto. Incluso si usa una fuente que especifica un escape distinto de cero, esta función no usa el ángulo mientras calcula la extensión de texto. La aplicación debe convertirlo explícitamente. Sin embargo, cuando el modo gráfico se establece en GM_ADVANCED y la orientación del carácter es de 90 grados a partir de la orientación de impresión, los valores devueltos por esta función no siguen esta regla. Cuando la orientación del carácter y la orientación de impresión coinciden con una cadena determinada, esta función devuelve las dimensiones de la cadena de la SIZE estructura como { cx : 116, cy : 18 }. Cuando la orientación de caracteres y la orientación de impresión están separadas por 90 grados para la misma cadena, esta función devuelve las dimensiones de la cadena en la estructura SIZE como { cx : 18, cy : 116 }.
Esta función devuelve la extensión de cada carácter sucesivo de una cadena. Cuando se redondean a unidades lógicas, se obtienen resultados diferentes a los que se devuelven de la GetCharWidth, que devuelve el ancho de cada carácter individual redondeado a unidades lógicas.
Nota
El encabezado wingdi.h define GetTextExtentExPoint 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 Conventions for Function Prototypes.
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Windows 2000 Professional [solo aplicaciones de escritorio] |
servidor mínimo admitido | Windows 2000 Server [solo aplicaciones de escritorio] |
de la plataforma de destino de |
Windows |
encabezado de |
wingdi.h (incluya Windows.h) |
biblioteca de |
Gdi32.lib |
DLL de |
Gdi32.dll |
Consulte también
funciones de fuente y texto de
de información general de fuentes y texto de