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

Vedi anche

Funzioni carattere e testo

Panoramica dei tipi di carattere e del testo

GetTextExtentPoint32

TabbedTextOut