TexOut
La función TextOut muestra una cadena de caracteres en la posición especificada, usando la fuente actualmente seleccionada.
Sintaxis
BOOL TextOut( HDC hdc, // manipulador de contexto de dispositivo int nXStart, // coordenada x de la posición de inicio int nYStart, // coordenada y de la posición de inicio LPCTSTR lpString, // dirección de la cadena int cbString // número de caracteres en la cadena );
Parámetros:
hdc: identifica el contexto de dispositivo.
nXStart: especifica la coordenada lógica x del punto de referencia que Windows usa para alinear la cadena.
nYStart: especifica la coordenada lógica y del punto de referencia que Windows usa para alinear la cadena.
lpString: apunta a la cadena a mostrar. La cadena no necesita estar terminada con cero, ya que cbString especifica la longitud de la cadena.
cbString: especifica el número de caracteres en la cadena.
Valor de retorno
Si la función tiene éxito, el valor de retorno es TRUE.
Si la función falla, el valor de retorno es FALSE. 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.
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.
Cuando la función TextOut se sitúa en el interior de un camino, el sistema genera un camino para el texto TrueType que incluye cada carácter más su caja. La región generada es la caja del carácter menos el texto, más que el texto mismo. Se puede obtener la región encerrada por el borde del texto TrueType poniendo el modo de fondo a transparente antes de colocar la función TextOut en el camino. El siguiente ejemplo demuestra 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 TextOut(hdc, r.left, r.top, "Defenestration can be hazardous", 4); // 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));