Compartir a través de


Función TextOutW (wingdi.h)

La función TextOut escribe una cadena de caracteres en la ubicación especificada, utilizando la fuente, el color de fondo y el color de texto seleccionados actualmente.

Sintaxis

BOOL TextOutW(
  [in] HDC     hdc,
  [in] int     x,
  [in] int     y,
  [in] LPCWSTR lpString,
  [in] int     c
);

Parámetros

[in] hdc

Identificador del contexto del dispositivo.

[in] x

Coordenada x, en coordenadas lógicas, del punto de referencia que usa el sistema para alinear la cadena.

[in] y

Coordenada y, en coordenadas lógicas, del punto de referencia que usa el sistema para alinear la cadena.

[in] lpString

Puntero a la cadena que se va a dibujar. La cadena no necesita terminar en cero, ya que cchString especifica la longitud de la cadena.

[in] c

Longitud de la cadena a la que apunta lpString, en caracteres.

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 interpretación del punto de referencia depende del modo de alineación de texto actual. Una aplicación puede recuperar este modo llamando a la función GetTextAlign ; una aplicación puede modificar este modo llamando a la función SetTextAlign . Puede usar los valores siguientes para la alineación de texto. Solo se puede elegir una marca de las que afectan a la alineación horizontal y vertical. Además, solo se puede elegir una de las dos marcas que modifican la posición actual.

Término Descripción
TA_BASELINE El punto de referencia estará en la línea base del texto.
TA_BOTTOM El punto de referencia estará en el borde inferior del rectángulo delimitador.
TA_TOP El punto de referencia estará en el borde superior del rectángulo delimitador.
TA_CENTER El punto de referencia se alineará horizontalmente con el centro del rectángulo delimitador.
TA_LEFT El punto de referencia estará en el borde izquierdo del rectángulo delimitador.
TA_RIGHT El punto de referencia estará en el borde derecho del rectángulo delimitador.
TA_NOUPDATECP La posición actual no se actualiza después de cada llamada de salida de texto. El punto de referencia se pasa a la función de salida de texto.
TA_RTLREADING Edición de idioma de Oriente Medio de Windows: El texto se coloca en orden de lectura de derecha a izquierda, en lugar del orden predeterminado de izquierda a derecha. Esto solo se aplica cuando la fuente seleccionada en el contexto del dispositivo es hebreo o árabe.
TA_UPDATECP La posición actual se actualiza después de cada llamada de salida de texto. La posición actual se usa como punto de referencia.
 

De forma predeterminada, esta función no usa ni actualiza la posición actual. Sin embargo, una aplicación puede llamar a la función SetTextAlign con el parámetro fMode establecido en TA_UPDATECP para permitir que el sistema use y actualice la posición actual cada vez que la aplicación llama a TextOut para un contexto de dispositivo especificado. Cuando se establece esta marca, el sistema omite los parámetros nXStart y nYStart en las llamadas posteriores a TextOut .

Cuando la función TextOut se coloca dentro de un corchete de ruta de acceso, el sistema genera una ruta de acceso para el texto TrueType que incluye cada carácter más su cuadro de caracteres. La región generada es el cuadro de caracteres menos el texto, en lugar del propio texto. Puede obtener la región incluida en el esquema del texto TrueType estableciendo el modo de fondo en transparente antes de colocar la función TextOut en el corchete de ruta de acceso. A continuación se muestra el código de ejemplo que muestra este procedimiento.


// Obtain the window's client rectangle 
GetClientRect(hwnd, &r);

// THE FIX: by setting the background mode 
// to transparent, the region is the text itself 
// SetBkMode(hdc, TRANSPARENT); 

// Bracket begin a path 
BeginPath(hdc);

// Send some text out into the world 
TCHAR text[ ] = "Defenestration can be hazardous";
TextOut(hdc,r.left,r.top,text, ARRAYSIZE(text));

// Bracket end a path 
EndPath(hdc);

// Derive a region from that path 
SelectClipPath(hdc, RGN_AND);

// This generates the same result as SelectClipPath() 
// SelectClipRgn(hdc, PathToRegion(hdc)); 

// Fill the region with grayness 
FillRect(hdc, &r, GetStockObject(GRAY_BRUSH));

Ejemplos

Para obtener un ejemplo, vea Enumerar las fuentes instaladas.

Nota

El encabezado wingdi.h define TextOut 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

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

Consulte también

Funciones de fuente y texto

Información general sobre fuentes y texto

GetTextAlign

SelectObject

SetBkColor

SetTextAlign

SetTextColor

TabbedTextOut