Condividi tramite


Funzione GetTabbedTextExtentW (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 si basa sulle tabulazioni specificate. La funzione getTabbedTextExtent utilizza il tipo di carattere attualmente selezionato per calcolare le dimensioni della stringa.

Sintassi

DWORD GetTabbedTextExtentW(
  [in] HDC       hdc,
  [in] LPCWSTR   lpString,
  [in] int       chCount,
  [in] int       nTabPositions,
  [in] const INT *lpnTabStopPositions
);

Parametri

[in] hdc

Handle per il 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 tabelle codici SBCS accettano un byte ciascuno, mentre la maggior parte dei caratteri nelle tabelle codici DBCS accetta due byte; per la funzione Unicode, la maggior parte dei caratteri Unicode attualmente definiti (quelli in Basic Multilingual Plane (BMP)) sono una PAROLA 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 di tabulazione, in 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 corrisponde alle dimensioni della stringa in unità logiche. L'altezza è nella parola in ordine elevato e la larghezza è nella parola in ordine basso.

Se la funzione ha esito negativo, il valore restituito è 0. GetTabbedTextExtent avrà esito negativo se hDC non è valido e se nTabPositions è minore di 0.

Osservazioni

L'area di ritaglio corrente non influisce sulla larghezza e sull'altezza restituita dalla funzione GetTabbedTextExtent .

Poiché alcuni dispositivi non inseriscono i caratteri in matrici di celle regolari ,ovvero crenaturano i caratteri, la somma degli extent dei caratteri in una stringa potrebbe non essere uguale all'extent della stringa.

Se il parametro nTabPositions è zero e il parametro lpnTabStopPositions è NULL, le schede vengono espanse fino a otto volte la larghezza media del carattere.

Se nTabPositions è 1, le tabulazioni sono separate dalla distanza specificata dal primo valore della matrice a cui lpnTabStopPositions punti.

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 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 winuser.h (include Windows.h)
libreria User32.lib
dll User32.dll

Vedere anche

funzioni di tipo carattere e testo

panoramica tipi di carattere e testo

GetTextExtentPoint32

tabbedTextOut