Funzione TextOutW (wingdi.h)

La funzione TextOut scrive una stringa di caratteri nella posizione specificata, utilizzando il tipo di carattere, il colore di sfondo e il colore del testo attualmente selezionati.

Sintassi

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

Parametri

[in] hdc

Handle per il contesto del dispositivo.

[in] x

Coordinata x, in coordinate logiche, del punto di riferimento utilizzato dal sistema per allineare la stringa.

[in] y

Coordinata y, in coordinate logiche, del punto di riferimento utilizzato dal sistema per allineare la stringa.

[in] lpString

Puntatore alla stringa da disegnare. La stringa non deve essere terminata da zero, perché cchString specifica la lunghezza della stringa.

[in] c

Lunghezza della stringa a cui punta lpString, in caratteri.

Valore restituito

Se la funzione ha esito positivo, il valore restituito è diverso da zero.

Se la funzione ha esito negativo, il valore restituito è zero.

Commenti

L'interpretazione del punto di riferimento dipende dalla modalità di allineamento del testo corrente. Un'applicazione può recuperare questa modalità chiamando la funzione GetTextAlign ; un'applicazione può modificare questa modalità chiamando la funzione SetTextAlign . È possibile usare i valori seguenti per l'allineamento del testo. È possibile scegliere un solo flag da quelli che influiscono sull'allineamento orizzontale e verticale. Inoltre, è possibile scegliere solo uno dei due flag che modificano la posizione corrente.

Termine Descrizione
TA_BASELINE Il punto di riferimento sarà sulla riga di base del testo.
TA_BOTTOM Il punto di riferimento si troverà sul bordo inferiore del rettangolo di delimitazione.
TA_TOP Il punto di riferimento si troverà sul bordo superiore del rettangolo di delimitazione.
TA_CENTER Il punto di riferimento verrà allineato orizzontalmente al centro del rettangolo di delimitazione.
TA_LEFT Il punto di riferimento sarà sul bordo sinistro del rettangolo di delimitazione.
TA_RIGHT Il punto di riferimento sarà sul bordo destro del rettangolo di delimitazione.
TA_NOUPDATECP La posizione corrente non viene aggiornata dopo ogni chiamata di output di testo. Il punto di riferimento viene passato alla funzione di output del testo.
TA_RTLREADING Edizione del linguaggio Medio Oriente di Windows: Il testo viene disposto in ordine di lettura da destra a sinistra, anziché dall'ordine predefinito da sinistra a destra. Questo vale solo quando il tipo di carattere selezionato nel contesto del dispositivo è ebraico o arabo.
TA_UPDATECP La posizione corrente viene aggiornata dopo ogni chiamata di output di testo. La posizione corrente viene utilizzata come punto di riferimento.
 

Per impostazione predefinita, la posizione corrente non viene utilizzata o aggiornata da questa funzione. Tuttavia, un'applicazione può chiamare la funzione SetTextAlign con il parametro fMode impostato su TA_UPDATECP per consentire al sistema di usare e aggiornare la posizione corrente ogni volta che l'applicazione chiama TextOut per un contesto di dispositivo specificato. Quando questo flag è impostato, il sistema ignora i parametri nXStart e nYStart nelle chiamate TextOut successive.

Quando la funzione TextOut viene inserita all'interno di una parentesi di percorso, il sistema genera un percorso per il testo TrueType che include ogni carattere più la relativa casella di caratteri. L'area generata è la casella di caratteri meno il testo, anziché il testo stesso. È possibile ottenere l'area racchiusa tra la struttura del testo TrueType impostando la modalità di sfondo su trasparente prima di inserire la funzione TextOut tra parentesi di percorso. Di seguito è riportato un codice di esempio che illustra questa procedura.


// 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));

Esempio

Per un esempio, vedere Enumerazione dei tipi di carattere installati.

Nota

L'intestazione wingdi.h definisce TextOut come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice che non è indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzioni.

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione wingdi.h (include Windows.h)
Libreria Gdi32.lib
DLL Gdi32.dll

Vedi anche

Funzioni per tipi di carattere e testo

Cenni preliminari su tipi di carattere e testo

GetTextAlign

SelectObject

SetBkColor

SetTextAlign

SetTextColor

TabbedTextOut