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 |