Funzione GetTabbedTextExtentA (winuser.h)
La funzione GetTabbedTextExtent calcola la larghezza e l'altezza di una stringa di caratteri. Se la stringa contiene uno o più caratteri di tabulazione, la larghezza della stringa è basata sulle tabulazioni specificate. La funzione GetTabbedTextExtent usa il tipo di carattere attualmente selezionato per calcolare le dimensioni della stringa.
Sintassi
DWORD GetTabbedTextExtentA(
[in] HDC hdc,
[in] LPCSTR lpString,
[in] int chCount,
[in] int nTabPositions,
[in] const INT *lpnTabStopPositions
);
Parametri
[in] hdc
Handle nel contesto del dispositivo.
[in] lpString
Puntatore a una stringa di caratteri.
[in] chCount
Lunghezza della stringa di testo. Per la funzione ANSI è un conteggio BYTE e per la funzione Unicode è un conteggio di WORD. Si noti che per la funzione ANSI, i caratteri nelle pagine codici SBCS accettano un byte ogni byte, mentre la maggior parte dei caratteri nelle pagine codici DBCS accetta due byte; per la funzione Unicode, la maggior parte dei caratteri Unicode attualmente definiti (quelli nel piano multilingue di base (BMP) sono una WORD mentre i surrogati Unicode sono due WORD.
[in] nTabPositions
Numero di posizioni tabulazioni nella matrice a cui punta il parametro lpnTabStopPositions .
[in] lpnTabStopPositions
Puntatore a una matrice contenente le posizioni tabulazioni, nelle unità dispositivo. Le tabulazioni devono essere ordinate in ordine crescente; il valore x più piccolo deve essere il primo elemento della matrice.
Valore restituito
Se la funzione ha esito positivo, il valore restituito è le dimensioni della stringa nelle unità logiche. L'altezza è nella parola ad ordine elevato e la larghezza è nella parola a basso ordine.
Se la funzione ha esito negativo, il valore restituito è 0. GetTabbedTextExtent avrà esito negativo se hDC non è valido e se nTabPositions è minore di 0.
Commenti
L'area di ritaglio corrente non influisce sulla larghezza e l'altezza restituita dalla funzione GetTabbedTextExtent .
Poiché alcuni dispositivi non inseriscono i caratteri in matrici di celle regolari , ovvero i caratteri, la somma degli extent dei caratteri in una stringa potrebbe non essere uguale all'estensione della stringa.
Se il parametro nTabPositions è zero e il parametro lpnTabStopPositions è NULL, le schede vengono espanse fino a otto volte la larghezza media dei caratteri.
Se nTabPositions è 1, le tabulazioni vengono separate dalla distanza specificata dal primo valore della matrice a cui punta lpnTabStopPositions .
Nota
L'intestazione winuser.h definisce GetTabbedTextExtent 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
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 |