Condividi tramite


Funzione TextOutA (wingdi.h)

La funzione TextOut scrive una stringa di caratteri nella posizione specificata, usando il tipo di carattere, il colore di sfondo e il colore di 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 nel contesto del dispositivo.

[in] x

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

[in] y

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

[in] lpString

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

[in] c

Lunghezza della stringa puntata da 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 sarà sul bordo inferiore del rettangolo di selezione.
TA_TOP Il punto di riferimento sarà sul bordo superiore del rettangolo di selezione.
TA_CENTER Il punto di riferimento verrà allineato orizzontalmente al centro del rettangolo di selezione.
TA_LEFT Il punto di riferimento sarà sul bordo sinistro del rettangolo di selezione.
TA_RIGHT Il punto di riferimento sarà sul bordo destro del rettangolo di selezione.
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 Middle East di Windows: Il testo viene disposto a destra per sinistra, anziché all'ordine di lettura predefinito a destra. Ciò si applica 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 del testo. La posizione corrente viene usata 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 percorso, il sistema genera un percorso per il testo TrueType che include ogni carattere e 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 inserire la funzione TextOut nella parentesi del percorso. Di seguito è riportato il 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 di codifica neutrale con il codice che non è neutrale dalla codifica può causare errori di corrispondenza che causano errori di compilazione o runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzione.

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 carattere e testo

Panoramica dei tipi di carattere e del testo

GetTextAlign

SelectObject

SetBkColor

SetTextAlign

SetTextColor

TabbedTextOut