Condividi tramite


Funzione TextOutA (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 TextOutA(
  [in] HDC    hdc,
  [in] int    x,
  [in] int    y,
  [in] LPCSTR 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 con 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.

Osservazioni

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 di testo.
TA_RTLREADING edizione della lingua del Medio Oriente di Windows: Il testo è disposto 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 usata 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 posizionata 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 dalla struttura del testo TrueType impostando la modalità di sfondo su trasparente prima di posizionare la funzione TextOut nella 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));

Esempi

Per un esempio, vedere enumerare i 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 non indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere convenzioni di per i prototipi di funzioni.

Fabbisogno

Requisito Valore
client minimo supportato Windows 2000 Professional [solo app desktop]
server minimo supportato Windows 2000 Server [solo app desktop]
piattaforma di destinazione Finestre
intestazione wingdi.h (include Windows.h)
libreria Gdi32.lib
dll Gdi32.dll

Vedere anche

funzioni di tipo carattere e testo

panoramica tipi di carattere e testo

GetTextAlign

SelectObject

SetBkColor

SetTextAlign

SetTextColor

tabbedTextOut