Partager via


Fonction TextOutA (wingdi.h)

La fonction TextOut écrit une chaîne de caractères à l’emplacement spécifié, à l’aide de la police, de la couleur d’arrière-plan et de la couleur de texte actuellement sélectionnées.

Syntaxe

BOOL TextOutA(
  [in] HDC    hdc,
  [in] int    x,
  [in] int    y,
  [in] LPCSTR lpString,
  [in] int    c
);

Paramètres

[in] hdc

Handle dans le contexte de l’appareil.

[in] x

Coordonnée x, en coordonnées logiques, du point de référence que le système utilise pour aligner la chaîne.

[in] y

Coordonnée y, en coordonnées logiques, du point de référence que le système utilise pour aligner la chaîne.

[in] lpString

Pointeur vers la chaîne à dessiner. La chaîne n’a pas besoin d’être terminée à zéro, car cchString spécifie la longueur de la chaîne.

[in] c

Longueur de la chaîne pointée vers lpString, en caractères.

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

L’interprétation du point de référence dépend du mode d’alignement du texte actuel. Une application peut récupérer ce mode en appelant la fonction GetTextAlign ; une application peut modifier ce mode en appelant la fonction SetTextAlign . Vous pouvez utiliser les valeurs suivantes pour l’alignement du texte. Un seul indicateur peut être choisi parmi ceux qui affectent l’alignement horizontal et vertical. En outre, un seul des deux indicateurs qui modifient la position actuelle peut être choisi.

Terme Description
TA_BASELINE Le point de référence se trouvera sur la ligne de base du texte.
TA_BOTTOM Le point de référence se trouve sur le bord inférieur du rectangle englobant.
TA_TOP Le point de référence se trouve sur le bord supérieur du rectangle englobant.
TA_CENTER Le point de référence est aligné horizontalement sur le centre du rectangle englobant.
TA_LEFT Le point de référence se trouvera sur le bord gauche du rectangle englobant.
TA_RIGHT Le point de référence se trouvera sur le bord droit du rectangle englobant.
TA_NOUPDATECP La position actuelle n’est pas mise à jour après chaque appel de sortie de texte. Le point de référence est passé à la fonction de sortie de texte.
TA_RTLREADING Édition en langue du Moyen-Orient de Windows : Le texte est disposé dans l’ordre de lecture de droite à gauche, par opposition à l’ordre par défaut de gauche à droite. Cela s’applique uniquement lorsque la police sélectionnée dans le contexte de l’appareil est hébraïque ou arabe.
TA_UPDATECP La position actuelle est mise à jour après chaque appel de sortie de texte. La position actuelle est utilisée comme point de référence.
 

Par défaut, la position actuelle n’est pas utilisée ou mise à jour par cette fonction. Toutefois, une application peut appeler la fonction SetTextAlign avec le paramètre fMode défini sur TA_UPDATECP pour permettre au système d’utiliser et de mettre à jour la position actuelle chaque fois que l’application appelle TextOut pour un contexte d’appareil spécifié. Lorsque cet indicateur est défini, le système ignore les paramètres nXStart et nYStart sur les appels TextOut suivants.

Lorsque la fonction TextOut est placée à l’intérieur d’un crochet de chemin d’accès, le système génère un chemin d’accès pour le texte TrueType qui inclut chaque caractère plus sa zone de caractères. La région générée est la zone de caractères moins le texte, plutôt que le texte lui-même. Vous pouvez obtenir la région entourée du contour du texte TrueType en définissant le mode d’arrière-plan sur transparent avant de placer la fonction TextOut entre crochets. Voici un exemple de code qui illustre cette procédure.


// Obtain the window's client rectangle 
GetClientRect(hwnd, &r);

// THE FIX: by setting the background mode 
// to transparent, the region is the text itself 
// SetBkMode(hdc, TRANSPARENT); 

// Bracket begin a path 
BeginPath(hdc);

// Send some text out into the world 
TCHAR text[ ] = "Defenestration can be hazardous";
TextOut(hdc,r.left,r.top,text, ARRAYSIZE(text));

// Bracket end a path 
EndPath(hdc);

// Derive a region from that path 
SelectClipPath(hdc, RGN_AND);

// This generates the same result as SelectClipPath() 
// SelectClipRgn(hdc, PathToRegion(hdc)); 

// Fill the region with grayness 
FillRect(hdc, &r, GetStockObject(GRAY_BRUSH));

Exemples

Pour obtenir un exemple, consultez Énumération des polices installées.

Notes

L’en-tête wingdi.h définit TextOut 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

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

GetTextAlign

SélectionnerObject

SetBkColor

SetTextAlign

SetTextColor

TabbedTextOut