Attributs Text-Formatting

Une application peut utiliser six fonctions pour définir les attributs de mise en forme du texte pour un contexte de périphérique : SetBkColor, SetBkMode, SetTextAlign, SetTextCharacterExtra, SetTextColoret SetTextJustification. Ces fonctions affectent l’alignement du texte, l’espacement entre les caractères, la justification du texte, ainsi que les couleurs de texte et d’arrière-plan. En outre, six autres fonctions peuvent être utilisées pour récupérer les attributs de mise en forme du texte actuel pour tout contexte de périphérique : GetBkColor, GetBkMode, GetTextAlign, GetTextCharacterExtra, GetTextColoret GetTextExtentPoint32.

Alignement du texte

Les applications peuvent utiliser la fonction SetTextAlign pour spécifier la façon dont le système doit positionner les caractères dans une chaîne de texte lorsqu’ils appellent l’une des fonctions de dessin. Cette fonction peut être utilisée pour positionner des en-têtes, des numéros de page, des légendes, etc. Le système positionne une chaîne de texte en alignant un point de référence sur un rectangle imaginaire qui entoure la chaîne, avec la position actuelle du curseur ou un point passé comme argument à l’une des fonctions de dessin de texte. La fonction SetTextAlign permet à l’application de spécifier l’emplacement de ce point de référence. La liste suivante répertorie les emplacements de point de référence possibles.

Emplacement Description
gauche/bas Le point de référence se trouve dans l’angle inférieur gauche du rectangle.
ligne gauche/base Le point de référence se trouve à l’intersection de la ligne de base de cellule de caractère et du bord gauche du rectangle.
gauche/haut Le point de référence se trouve dans l’angle supérieur gauche du rectangle.
Centre/bas Le point de référence se trouve au centre du bas du rectangle.
Centre/ligne de base Le point de référence se trouve à l’intersection de la ligne de base de cellule de caractères et du centre du rectangle.
Centre/haut Le point de référence se trouve au centre du haut du rectangle.
droit/bas Le point de référence se trouve dans le coin inférieur droit du rectangle.
droite/ligne de base Le point de référence se trouve à l’intersection de la ligne de base de cellule de caractère et du bord droit du rectangle.
droite/haut Le point de référence se trouve dans l’angle supérieur droit du rectangle.

L’illustration suivante montre une chaîne de texte dessinée en appelant la fonction TextOut . Avant de dessiner le texte, la fonction SetTextAlign a été appelée pour déplacer le point de référence à chacun des neuf emplacements possibles.

Illustration montrant le même texte neuf fois, un pour chaque emplacement de point de référence possible

L’alignement du texte par défaut pour un contexte de périphérique est l’angle supérieur gauche du rectangle imaginaire qui entoure le texte. Une application peut récupérer le paramètre d’alignement de texte actuel pour tout contexte de périphérique en appelant la fonction GetTextAlign .

Espacement entre les caractères

Les applications peuvent utiliser la fonction SetTextCharacterExtra pour modifier l’espacement entre les caractères pour toutes les opérations de sortie de texte dans un contexte de périphérique spécifié. L’illustration suivante montre une chaîne de texte dessinée deux fois en appelant la fonction TextOut . Avant de dessiner le texte la deuxième fois, la fonction SetTextCharacterExtra a été appelée pour incrémenter l’espacement entre les caractères.

l’illustration shoing le même texte à deux reprises : tout d’abord avec un espacement entre les intercaractères normal, puis avec un espacement plus grand

La valeur d’espacement entre les caractères par défaut pour tout contexte de périphérique est égale à zéro. Une application peut récupérer la valeur actuelle de l’espacement entre les caractères d’un contexte de périphérique en appelant la fonction GetTextCharacterExtra .

Justification du texte

Les applications peuvent utiliser les fonctions GetTextExtentPoint32 et SetTextJustification pour justifier une ligne de texte. La justification du texte est une opération courante dans toute publication de bureau et dans la plupart des applications de traitement de texte. La fonction GetTextExtentPoint32 calcule la largeur et la hauteur d’une chaîne de texte. Une fois la largeur calculée, l’application peut appeler la fonction SetTextJustification pour répartir l’espacement supplémentaire entre chacun des mots d’une ligne de texte. L’illustration suivante montre un paragraphe de texte imprimé deux fois : dans le premier paragraphe, le texte n’a pas été justifié. dans le deuxième paragraphe, le texte était justifié en appelant les fonctions GetTextExtentPoint32 et SetTextJustification .

Illustration montrant un paragraphe qui s’aligne uniquement à gauche, puis le même paragraphe aligné à gauche et à droite

Couleur du texte et de l’arrière-plan

Les applications peuvent utiliser la fonction SetTextColor pour définir la couleur du texte dessiné dans la zone cliente de leurs fenêtres, ainsi que la couleur du texte dessiné sur une imprimante couleur. Une application peut utiliser la fonction SetBkColor pour définir la couleur qui apparaît derrière chaque caractère et la fonction SetBkMode pour spécifier la façon dont le système doit fusionner la couleur d’arrière-plan sélectionnée avec la ou les couleurs actuelles de l’affichage vidéo.

La couleur de texte par défaut pour un contexte de périphérique d’affichage est noire ; la couleur d’arrière-plan par défaut est blanc. et le mode d’arrière-plan par défaut est OPAQUE. Une application peut récupérer la couleur de texte actuelle pour un contexte de périphérique en appelant la fonction GetTextColor . Une application peut récupérer la couleur d’arrière-plan actuelle pour un contexte de périphérique en appelant la fonction GetBkColor et le mode d’arrière-plan actuel en appelant la fonction GetBkMode .