GetTextExtentExPointI, fonction (wingdi.h)

La fonction GetTextExtentExPointI récupère le nombre de caractères d’une chaîne spécifiée qui s’adaptera à un espace spécifié et remplit un tableau avec l’étendue du texte pour chacun de ces caractères. (Une étendue de texte correspond à la distance entre le début de l’espace et un caractère qui va tenir dans l’espace.) Ces informations sont utiles pour les calculs d’habillage de mots.

Syntaxe

BOOL GetTextExtentExPointI(
  [in]  HDC    hdc,
  [in]  LPWORD lpwszString,
  [in]  int    cwchString,
  [in]  int    nMaxExtent,
  [out] LPINT  lpnFit,
  [out] LPINT  lpnDx,
  [out] LPSIZE lpSize
);

Paramètres

[in] hdc

Handle dans le contexte de l’appareil.

[in] lpwszString

Pointeur vers un tableau d’index de glyphes pour lesquels les étendues doivent être récupérées.

[in] cwchString

Nombre de glyphes dans le tableau pointé vers le paramètre pgiIn .

[in] nMaxExtent

Largeur maximale autorisée, en unités logiques, de la chaîne mise en forme.

[out] lpnFit

Pointeur vers un entier qui reçoit le nombre maximal de caractères qui s’adapteront à l’espace spécifié par le paramètre nMaxExtent . Lorsque le paramètre lpnFit a la valeur NULL, le paramètre nMaxExtent est ignoré.

[out] lpnDx

Pointeur vers un tableau d’entiers qui reçoit des étendues de glyphes partielles. Chaque élément du tableau donne la distance, en unités logiques, entre le début du tableau d’index de glyphes et l’un des glyphes qui correspond à l’espace spécifié par le paramètre nMaxExtent . Bien que ce tableau doit avoir au moins autant d’éléments que les index de glyphe spécifiés par le paramètre cgi , la fonction remplit le tableau avec des étendues uniquement pour autant d’index de glyphes que spécifiés par le paramètre lpnFit . Si lpnFit a la valeur NULL, la fonction ne calcule pas les largeurs de chaîne partielles.

[out] lpSize

Pointeur vers une structure SIZE qui reçoit les dimensions du tableau d’index de glyphes, en unités logiques. Cette valeur ne peut pas être NULL.

Valeur retournée

Si la fonction réussit, la valeur de retour est différente de zéro.

Si la fonction échoue, la valeur de retour est égale à zéro.

Remarques

Si les paramètres lpnFit et alpDx sont NULL, appeler la fonction GetTextExtentExPointI équivaut à appeler la fonction GetTextExtentPointI .

Lorsque cette fonction retourne l’étendue du texte, elle suppose que le texte est horizontal, c’est-à-dire que l’échappement est toujours 0. Cela est vrai pour les mesures horizontales et verticales du texte. Même si vous utilisez une police qui spécifie un échappement différent de zéro, cette fonction n’utilise pas l’angle pendant qu’elle calcule l’étendue du texte. L’application doit la convertir explicitement. Toutefois, lorsque le mode graphique est défini sur GM_ADVANCED et que l’orientation des caractères est à 90 degrés de l’orientation d’impression, les valeurs renvoyées par cette fonction ne suivent pas cette règle. Lorsque l’orientation des caractères et l’orientation d’impression correspondent pour une chaîne donnée, cette fonction retourne les dimensions de la chaîne dans la structure SIZE sous la forme { cx : 116, cy : 18 }. Lorsque l’orientation des caractères et l’orientation d’impression sont séparées de 90 degrés pour la même chaîne, cette fonction retourne les dimensions de la chaîne dans la structure SIZE sous la forme { cx : 18, cy : 116 }.

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 wingdi.h (inclure Windows.h)
Bibliothèque Gdi32.lib
DLL Gdi32.dll

Voir aussi

Fonctions police et texte

Vue d’ensemble des polices et du texte

GetTextExtentPoint

SIZE