Funzione GetTextExtentPoint32A (wingdi.h)
La funzione GetTextExtentPoint32 calcola la larghezza e l'altezza della stringa specificata di testo.
Sintassi
BOOL GetTextExtentPoint32A(
[in] HDC hdc,
[in] LPCSTR lpString,
[in] int c,
[out] LPSIZE psizl
);
Parametri
[in] hdc
Handle nel contesto del dispositivo.
[in] lpString
Puntatore a un buffer che specifica la stringa di testo. La stringa non deve essere terminata con valore Null, perché il parametro c specifica la lunghezza della stringa.
[in] c
Lunghezza della stringa puntata da lpString.
[out] psizl
Puntatore a una struttura SIZE che riceve le dimensioni della stringa, in unità logiche.
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
La funzione GetTextExtentPoint32 usa il tipo di carattere attualmente selezionato per calcolare le dimensioni della stringa. La larghezza e l'altezza, nelle unità logiche, vengono calcolate senza considerare alcun ritaglio.
Poiché alcuni dispositivi kern caratteri, la somma degli extent dei caratteri in una stringa potrebbe non essere uguale all'estensione della stringa.
La larghezza della stringa calcolata tiene conto della spaziatura intercharacter impostata dalla funzione SetTextCharacterExtra e della giustificazione impostata da SetTextJustification. Questo vale sia per la visualizzazione su uno schermo che per la stampa. Tuttavia, se lpDx è impostato in ExtTextOut, GetTextExtentPoint32 non tiene conto della spaziatura o della giustificazione intercharacter. Inoltre, per EMF, il risultato della stampa accetta sempre la spaziatura intercharacter e la giustificazione in considerazione.
Quando si tratta del testo visualizzato su una schermata, la larghezza della stringa calcolata tiene conto della spaziatura intercharacter impostata dalla funzione SetTextCharacterExtra e la giustificazione impostata da SetTextJustification. Tuttavia, se lpDx è impostato in ExtTextOut, GetTextExtentPoint32 non tiene conto della spaziatura o della giustificazione intercharacter. Tuttavia, quando si stampa con EMF:
- Il risultato della stampa ignora la spaziatura intercharacter, anche se GetTextExtentPoint32 lo tiene conto.
- Il risultato della stampa tiene conto della giustificazione, anche se GetTextExtentPoint32 lo ignora.
GetTextExtentPoint32 non considera i caratteri "\n" (nuova riga) o "\r\n" (ritorno a capo e nuova riga) quando calcola l'altezza di una stringa di testo.
Esempio
Per un esempio, vedere Disegno di testo da tipi di carattere diversi nella stessa riga.
Nota
L'intestazione wingdi.h definisce GetTextExtentPoint32 come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante 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 |