Funzione DrawTextExA (winuser.h)
La funzione DrawTextEx disegna testo formattato nel rettangolo specificato.
Sintassi
int DrawTextExA(
[in] HDC hdc,
[in, out] LPSTR lpchText,
[in] int cchText,
[in, out] LPRECT lprc,
[in] UINT format,
[in] LPDRAWTEXTPARAMS lpdtp
);
Parametri
[in] hdc
Handle al contesto del dispositivo in cui disegnare.
[in, out] lpchText
Puntatore alla stringa contenente il testo da disegnare. Se il parametro cchText è -1, la stringa deve essere terminata con null.
Se dwDTFormat include DT_MODIFYSTRING, la funzione potrebbe aggiungere fino a quattro caratteri aggiuntivi a questa stringa. Il buffer contenente la stringa deve essere abbastanza grande per supportare questi caratteri aggiuntivi.
[in] cchText
Lunghezza della stringa puntata da lpchText. Se cchText è -1, si presuppone che il parametro lpchText sia un puntatore a una stringa con terminazione null e DrawTextEx calcola automaticamente il conteggio dei caratteri.
[in, out] lprc
Puntatore a una struttura RECT che contiene il rettangolo, nelle coordinate logiche, in cui il testo deve essere formattato.
[in] format
Opzioni di formattazione. Questo parametro può essere uno o più dei valori seguenti.
Valore | Significato |
---|---|
|
Giustifica il testo nella parte inferiore del rettangolo. Questo valore viene usato solo con il valore DT_SINGLELINE. |
|
Determina la larghezza e l'altezza del rettangolo. Se sono presenti più righe di testo, DrawTextEx usa la larghezza del rettangolo a cui punta il parametro lprc e estende la base del rettangolo per associare l'ultima riga di testo. Se è presente una sola riga di testo, DrawTextEx modifica il lato destro del rettangolo in modo che limiti l'ultimo carattere nella riga. In entrambi i casi , DrawTextEx restituisce l'altezza del testo formattato, ma non disegna il testo. |
|
Centra il testo orizzontalmente nel rettangolo. |
|
Duplica le caratteristiche di visualizzazione del testo di un controllo di modifica multilinea. In particolare, la larghezza media dei caratteri viene calcolata nello stesso modo di un controllo di modifica e la funzione non visualizza un'ultima riga parzialmente visibile. |
|
Per il testo visualizzato, sostituisce la fine di una stringa con puntini di sospensione in modo che il risultato si adatta al rettangolo specificato. Qualsiasi parola (non alla fine della stringa) che supera i limiti del rettangolo viene troncata senza puntini di sospensione. La stringa non viene modificata a meno che non venga specificato il flag DT_MODIFYSTRING.
Confrontare con DT_PATH_ELLIPSIS e DT_WORD_ELLIPSIS. |
|
Espande i caratteri di tabulazione. Il numero predefinito di caratteri per tabulazione è otto. |
|
Include l'interlinea esterna del tipo di carattere nell'altezza della riga. In genere, l'inizio esterno non è incluso nell'altezza di una riga di testo. |
|
Ignora il carattere prefisso di amperand (&) nel testo. La lettera che segue non verrà sottolineata, ma altri caratteri di prefisso mnemonico sono ancora elaborati.
Esempio: stringa di input: "A&bc&&d" normale: "Ab c&d" DT_HIDEPREFIX: "Abc&d" Confrontare con DT_NOPREFIX e DT_PREFIXONLY. |
|
Utilizza il tipo di carattere di sistema per calcolare le dimensioni del testo. |
|
Allinea il testo a sinistra. |
|
Modifica la stringa specificata in modo che corrisponda al testo visualizzato. Questo valore non ha alcun effetto a meno che non sia specificato DT_END_ELLIPSIS o DT_PATH_ELLIPSIS. |
|
Disegna senza ritagliare. DrawTextEx è leggermente più veloce quando viene usata DT_NOCLIP. |
|
Impedisce un'interruzione di riga a un databaseCS (stringa a caratteri a doppio livello), in modo che la regola di interruzione della riga sia equivalente alle stringhe SBCS. Ad esempio, questa operazione può essere usata nelle finestre coreane, per una maggiore leggibilità delle etichette dell'icona. Questo valore non ha alcun effetto a meno che non sia specificato DT_WORDBREAK. |
|
Disattiva l'elaborazione dei caratteri prefisso. In genere , DrawTextEx interpreta il carattere mnemonic-prefix (&) mnemonic-prefix come direttiva per evidenziare il carattere che segue, e i caratteri mnemonic-prefix (&&) double-ampersand (&&) come direttiva per stampare un singolo amperand. Specificando DT_NOPREFIX, questa elaborazione viene disattivata. Confrontare con DT_HIDEPREFIX e DT_PREFIXONLY |
|
Per il testo visualizzato, sostituisce i caratteri al centro della stringa con puntini di sospensione in modo che il risultato si adatta al rettangolo specificato. Se la stringa contiene caratteri barra rovesciata (\\), DT_PATH_ELLIPSIS mantiene il più possibile possibile del testo dopo l'ultima barra rovesciata. La stringa non viene modificata a meno che non venga specificato il flag DT_MODIFYSTRING.
Confrontare con DT_END_ELLIPSIS e DT_WORD_ELLIPSIS. |
|
Disegna solo una sottolineatura nella posizione del carattere che segue il carattere amperand (&) prefisso. Non disegna alcun carattere nella stringa.
Esempio: stringa di input: "A&bc&&d" normale: "Ab c&d" PREFIXONLY: " _ Confrontare con DT_NOPREFIX e DT_HIDEPREFIX. |
|
Allinea il testo a destra. |
|
Layout nell'ordine di lettura da destra a sinistra per il testo bidirezionale quando il tipo di carattere selezionato in hdc è un carattere ebraico o arabo. L'ordine di lettura predefinito per tutto il testo è a sinistra a destra. |
|
Visualizza il testo solo in una singola riga. Il ritorno a capo e i feed di riga non interrompono la riga. |
|
Imposta le tabulazioni. La struttura DRAWTEXTPARAMS puntata dal parametro lpDTParams specifica il numero di larghezze medie dei caratteri per tabulazione. |
|
Giustifica il testo nella parte superiore del rettangolo. |
|
Centra il testo verticalmente. Questo valore viene usato solo con il valore DT_SINGLELINE. |
|
Interrompe le parole. Le righe vengono interrotte automaticamente tra le parole se una parola si estende oltre il bordo del rettangolo specificato dal parametro lprc . Una sequenza di avanzamento ritorno a capo interrompe anche la riga. |
|
Tronca qualsiasi parola che non rientra nel rettangolo e aggiunge puntini di sospensione.
Confrontare con DT_END_ELLIPSIS e DT_PATH_ELLIPSIS. |
[in] lpdtp
Puntatore a una struttura DRAWTEXTPARAMS che specifica opzioni di formattazione aggiuntive. Questo parametro può essere NULL.
Valore restituito
Se la funzione ha esito positivo, il valore restituito corrisponde all'altezza del testo in unità logiche. Se viene specificato DT_VCENTER o DT_BOTTOM, il valore restituito è l'offset dal lprc->top
fondo del testo disegnato
Se la funzione ha esito negativo, il valore restituito è zero.
Commenti
La funzione DrawTextEx supporta solo i tipi di carattere il cui carattere di escape e orientamento sono entrambi zero.
La modalità di allineamento del testo per il contesto di dispositivo deve includere i flag TA_LEFT, TA_TOP e TA_NOUPDATECP.
Nota
L'intestazione winuser.h definisce DrawTextEx 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 | winuser.h (include Windows.h) |
Libreria | User32.lib |
DLL | User32.dll |
Set di API | ext-ms-win-ntuser-misc-l1-2-0 (introdotto in Windows 8.1) |