Partager via


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

Paramètres

[in] hdc

Handle vers 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 codes SBCS prennent chacun un octet, tandis que la plupart des caractères des pages de codes DBCS prennent deux octets ; pour la fonction Unicode, les caractères Unicode les plus définis (ceux du plan multilingue de base (BMP)) sont un WORD tandis que les substitutions 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, dans les unités d’appareil. Les taquets de tabulation doivent être triés dans l’ordre croissant ; la plus petite valeur x doit être le premier élément du tableau.

Valeur de retour

Si la fonction réussit, la valeur de retour est les dimensions de la chaîne en unités logiques. La hauteur se trouve dans le mot de haut ordre et la largeur se trouve dans le mot de bas ordre.

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 réguliers (autrement dit, ils kènent 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 est NULL, les onglets sont étendus à huit fois la largeur moyenne des caractères.

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

Note

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

Exigences

Exigence Valeur
client minimum pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
serveur minimum pris en charge Windows 2000 Server [applications de bureau uniquement]
plateforme cible Windows
d’en-tête winuser.h (include 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