wingdi.h


ExTexOut

La función ExtTextOut traza una cadena de caracteres usando la fuente actualmente seleccionada. Se puede proporcionar un rectángulo opcional, que se usará como recorte, especificar la zona opaca, o ambos.

Sintaxis

BOOL ExtTextOut(
    HDC hdc,           // manipulador de contexto de dispositivo
    int X,             // coordenada x del punto de referencia
    int Y,             // coordenada y del punto de referencia
    UINT fuOptions,    // opciones de salida de texto
    CONST RECT *lprc,  // rectángulo opcional de recorte y/o opacidad
    LPCTSTR lpString,  // puntero a cadena
    UINT cbCount,      // número de caracteres en la cadena
    CONST INT *lpDx    // puntero a array con los valores de espacios entre caracteres
   );

Parámetros:

hdc: identifica el contexto de dispositivo.

X: especifica la coordenada lógica x del punto de usado para colocar la cadena.

Y: especifica la coordenada lógica y del punto de usado para colocar la cadena.

fuOptions: especifica como se usará el rectángulo definido por la aplicación. Este parámetro puede ser una combinación de los siguientes valores:

Valor Significado
ETO_CLIPPED El texto debe ser recortado usando el rectángulo.
ETO_GLYPH_INDEX Sólo en Windows 95: el parámetro lpString se refiere a un array devuelto por la función GetCharacterPlacement y debe ser tratado directamente por el GDI sin aplicar ningún proceso específico del lenguaje. La indexación Glyph se aplica sólo a fuentes TrueType, pero la bandera se puede usar para fuentes de mapas de bits Windows y fuentes vectoriales para undicar que no es necesario aplicar procesos de lenguaje y que GDI debe procesar la cadena directamente. Hay que tener en cuenta que todos los índices glyph son valores de 16-bit aunque se asume que la cadena sea una array de valores de 8-bit para fuentes raster.
ETO_OPAQUE Se debe usar el valor de color de fondo para rellenar el rectángulo.
ETO_RTLREADING Sólo en Windows 95: si se especifica este valor y se ha seleccionado una fuente hebrea o árabe para el contexto de dispositivo, la cadena se muestra usando el sentido de lectura de derecha a izquierda. Si no se especifica este valor, la cadena se muestra en el sentido de lectura de izquierda a derecha. Se puede obtener el mismo efecto activando el valor TA_RTLREADING en la función SetTextAlign. Este valor se conserva para compatibilidad con versiones anteriores.

Los valores ETO_GLYPH_INDEX y ETO_RTLREADING no se pueden usar juntos, ya que ETO_GLYPH_INDEX implica que se deben realizar todos los procesos de lenguaje, la función ignora la bandera ETO_RTLREADING si se especifican ambas.

lprc: apunta a una estructura RECT opcional que especifica las dimensiones de un rectángulo que se usa para recorte, opaciodad o ambos.

lpString: apunta a la cadena a mostrar. La cadena no necesita estar terminada con cero, ya que cbCount especifica la longitud de la cadena.

cbCount: especifica el número de caracteres en la cadena.

lpDx: puntero a un array opcional de valores que indican las distancias entre los orígenes de celdas de caracteres adyacentes. Por ejemplo, se usaran lpDx[i] unidades lógicas para separar los puntos de origen de las celdas de los caracteres i e i+1.

Valor de retorno

Si la función tiene éxito, el valor de retorno es distinto de cero.

Si la función falla, el valor de retorno es cero. Para obtener mayor información sobre el error, llamar a GetLastError.

Observaciones

La interpretación del punto de referencia depende del valor actual del modo de alineamiento de texto. La aplicación puede recuperar el valor de ese modo mediante una llamada a la función GetTextAlign; y puede alterarlo mediante una llamada a la función SetTextAlign.

Si el parámetro lpDx es NULL, la función ExtTextOut usa el espacio entre caracteres por defecto. Los orígenes de las celdas de caracteres y el contenido del array apuntado por el parámetro lpDx se dan en unidades lógicas. El origen de una celda de carácter se define como la esquina superior izquierda de la celda.

Por defecto, la posición actual del cursor gráfico no se usa ni se actualiza por esta función. Sin embargo, la aplicación puede llamar a la función SetTextAlign con el valor TA_UPDATECP para el parámetro fMode para permitir a Windows usar y actualizar la posición cada vez que la aplicación llame a TextOut para un contexto de dispositivo especificado. Cuando esta opción está activa, Windows ignora los parámetros nXStart y nYStart en las siguientes llamadas a TextOut.