SetTextJustification, fonction (wingdi.h)
La fonction SetTextJustification spécifie la quantité d’espace que le système doit ajouter aux caractères d’arrêt dans une chaîne de texte. L’espace est ajouté lorsqu’une application appelle les fonctions TextOut ou ExtTextOut .
Syntaxe
BOOL SetTextJustification(
[in] HDC hdc,
[in] int extra,
[in] int count
);
Paramètres
[in] hdc
Handle pour le contexte de l’appareil.
[in] extra
Espace total supplémentaire, en unités logiques, à ajouter à la ligne de texte. Si le mode de mappage actuel n’est pas MM_TEXT, la valeur identifiée par le paramètre nBreakExtra est transformée et arrondie au pixel le plus proche.
[in] count
Nombre de caractères d’arrêt dans la ligne.
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
Le caractère d’arrêt est généralement le caractère d’espace (ASCII 32), mais il peut être défini par une police comme un autre caractère. La fonction GetTextMetrics peut être utilisée pour récupérer le caractère d’arrêt d’une police.
La fonction TextOut répartit uniformément l’espace supplémentaire spécifié entre les caractères de saut dans la ligne.
La fonction GetTextExtentPoint32 est toujours utilisée avec la fonction SetTextJustification . Parfois, la fonction GetTextExtentPoint32 prend en compte la justification lors du calcul de la largeur d’une ligne spécifiée avant la justification, et parfois non. Pour plus d’informations à ce sujet, consultez GetTextExtentPoint32. Cette largeur doit être connue avant de pouvoir calculer une valeur nBreakExtra appropriée.
SetTextJustification peut être utilisé pour justifier une ligne qui contient plusieurs chaînes dans différentes polices. Dans ce cas, chaque chaîne doit être justifiée séparément.
Étant donné que des erreurs d’arrondi peuvent se produire pendant la justification, le système conserve un terme d’erreur en cours d’exécution qui définit la valeur d’erreur actuelle. Lors de la justification d’une ligne qui contient plusieurs exécutions, GetTextExtentPoint utilise automatiquement ce terme d’erreur lorsqu’il calcule l’étendue de l’exécution suivante, ce qui permet à TextOut de fusionner l’erreur dans la nouvelle exécution. Une fois chaque ligne justifiée, ce terme d’erreur doit être effacé pour empêcher son incorporation dans la ligne suivante. Le terme peut être effacé en appelant SetTextJustification avec nBreakExtra défini sur zéro.
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 | wingdi.h (inclure Windows.h) |
Bibliothèque | Gdi32.lib |
DLL | Gdi32.dll |
Voir aussi
Fonctions de police et de texte