GetTabbedTextExtentW, fonction (winuser.h)

La fonction GetTabbedTextExtent calcule la largeur et la hauteur d’une chaîne de caractères. Si la chaîne contient un ou plusieurs caractères de tabulation, la largeur de la chaîne est basée sur les taquets de tabulation spécifiés. La fonction GetTabbedTextExtent utilise la police actuellement sélectionnée pour calculer les dimensions de la chaîne.

Syntaxe

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

Paramètres

[in] hdc

Handle pour le contexte de l’appareil.

[in] lpString

Pointeur vers une chaîne de caractères.

[in] chCount

Longueur de la chaîne de texte. Pour la fonction ANSI, il s’agit d’un nombre d’octets et pour la fonction Unicode, il s’agit d’un nombre DE MOTS. Notez que pour la fonction ANSI, les caractères dans les pages de codes SBCS prennent un octet chacun, tandis que la plupart des caractères dans les pages de code DBCS prennent deux octets ; pour la fonction Unicode, la plupart des caractères Unicode actuellement définis (ceux du plan multilingue de base (BMP)) sont un MOT tandis que les substituts Unicode sont deux WORD.

[in] nTabPositions

Nombre de positions de taquet de tabulation dans le tableau pointé par le paramètre lpnTabStopPositions .

[in] lpnTabStopPositions

Pointeur vers un tableau contenant les positions de taquet de tabulation, en unités d’appareil. Les taquets de tabulation doivent être triés dans l’ordre croissant ; la plus petite x-value doit être le premier élément du tableau.

Valeur retournée

Si la fonction réussit, la valeur de retour correspond aux dimensions de la chaîne en unités logiques. La hauteur est dans le mot d’ordre supérieur et la largeur dans le mot d’ordre inférieur.

Si la fonction échoue, la valeur de retour est 0. GetTabbedTextExtent échoue si hDC n’est pas valide et si nTabPositions est inférieur à 0.

Remarques

La zone de découpage actuelle n’affecte pas la largeur et la hauteur retournées par la fonction GetTabbedTextExtent .

Étant donné que certains appareils ne placent pas de caractères dans des tableaux de cellules standard (c’est-à-dire qu’ils kernifient les caractères), la somme des étendues des caractères d’une chaîne peut ne pas être égale à l’étendue de la chaîne.

Si le paramètre nTabPositions est égal à zéro et que le paramètre lpnTabStopPositions a la valeur NULL, les tabulations sont étendues à huit fois la largeur moyenne des caractères.

Si nTabPositions a la valeur 1, les taquets de tabulation sont séparés par la distance spécifiée par la première valeur du tableau vers laquelle lpnTabStopPositions pointe.

Notes

L’en-tête winuser.h définit GetTabbedTextExtent en tant qu’alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. La combinaison de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête winuser.h (inclure Windows.h)
Bibliothèque User32.lib
DLL User32.dll

Voir aussi

Fonctions de police et de texte

Vue d’ensemble des polices et du texte

GetTextExtentPoint32

TabbedTextOut