Fonction GetTabbedTextExtentA (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 GetTabbedTextExtentA(
  [in] HDC       hdc,
  [in] LPCSTR    lpString,
  [in] int       chCount,
  [in] int       nTabPositions,
  [in] const INT *lpnTabStopPositions
);

Paramètres

[in] hdc

Handle dans 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 BYTE et pour la fonction Unicode, il s’agit d’un nombre WORD. Notez que pour la fonction ANSI, les caractères des pages de code SBCS prennent un octet chacun, tandis que la plupart des caractères des 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é vers le paramètre lpnTabStopPositions .

[in] lpnTabStopPositions

Pointeur vers un tableau contenant les positions de tabulation, en unités d’appareil. Les taquets de tabulation doivent être triés dans un 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 élevé et la largeur est 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 ordinaires (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 onglets sont étendus à huit fois la largeur moyenne des caractères.

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

Notes

L’en-tête winuser.h définit GetTabbedTextExtent comme un 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. Le mélange 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

   
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 police et texte

Vue d’ensemble des polices et du texte

GetTextExtentPoint32

TabbedTextOut