GrayStringA, fonction (winuser.h)

La fonction GrayString dessine le texte gris à l’emplacement spécifié. La fonction dessine le texte en le copiant dans une image bitmap en mémoire, en grisant la bitmap, puis en copiant la bitmap sur l’écran. La fonction grise le texte quels que soient le pinceau et l’arrière-plan sélectionnés. GrayString utilise la police actuellement sélectionnée pour le contexte d’appareil spécifié.

Si thelpOutputFuncparameter a la valeur NULL, GDI utilise la fonction TextOut et thelpDataparameter est supposé être un pointeur vers la chaîne de caractères à générer. Si les caractères à générer ne peuvent pas être gérés par TextOut (par exemple, la chaîne est stockée sous forme de bitmap), l’application doit fournir sa propre fonction de sortie.

Syntaxe

BOOL GrayStringA(
  [in] HDC            hDC,
  [in] HBRUSH         hBrush,
  [in] GRAYSTRINGPROC lpOutputFunc,
  [in] LPARAM         lpData,
  [in] int            nCount,
  [in] int            X,
  [in] int            Y,
  [in] int            nWidth,
  [in] int            nHeight
);

Paramètres

[in] hDC

Handle pour le contexte de l’appareil.

[in] hBrush

Poignée au pinceau à utiliser pour le grisage. Si ce paramètre a la valeur NULL, le texte est grisé avec le même pinceau que celui utilisé pour dessiner le texte de la fenêtre.

[in] lpOutputFunc

Pointeur vers la fonction définie par l’application qui dessine la chaîne ou, si TextOut doit être utilisé pour dessiner la chaîne, il s’agit d’un pointeur NULL . Pour plus d’informations, consultez la fonction de rappel OutputProc .

[in] lpData

Pointeur vers les données à passer à la fonction de sortie. Si le paramètre lpOutputFunc a la valeur NULL, lpData doit être un pointeur vers la chaîne à générer.

[in] nCount

Nombre de caractères à sortir. Si le paramètre nCount est égal à zéro, GrayString calcule la longueur de la chaîne (en supposant que lpData est un pointeur vers la chaîne). Si nCount a la valeur 1 et que la fonction pointée par lpOutputFunc retourne FALSE, l’image est affichée mais non grisée.

[in] X

Coordonnée x de l’appareil de la position de départ du rectangle qui entoure la chaîne.

[in] Y

Coordonnée y de l’appareil de la position de départ du rectangle qui entoure la chaîne.

[in] nWidth

Largeur, en unités d’appareil, du rectangle qui entoure la chaîne. Si ce paramètre est égal à zéro, GrayString calcule la largeur de la zone, en supposant que lpData est un pointeur vers la chaîne.

[in] nHeight

Hauteur, en unités d’appareil, du rectangle qui entoure la chaîne. Si ce paramètre est égal à zéro, GrayString calcule la hauteur de la zone, en supposant que lpData est un pointeur vers la chaîne.

Valeur retournée

Si la chaîne est dessinée, la valeur de retour est différente de zéro.

Si la fonction TextOut ou la fonction de sortie définie par l’application a retourné zéro, ou si la mémoire était insuffisante pour créer une bitmap de mémoire pour le grisage, la valeur de retour est zéro.

Remarques

Sans appeler GrayString, une application peut dessiner des chaînes grisées sur des appareils qui prennent en charge une couleur grise unie. La couleur système COLOR_GRAYTEXT est la couleur système gris unie utilisée pour dessiner du texte désactivé. L’application peut appeler la fonction GetSysColor pour récupérer la valeur de couleur de COLOR_GRAYTEXT. Si la couleur est différente de zéro (noir), l’application peut appeler la fonction SetTextColor pour définir la couleur du texte sur la valeur de couleur, puis dessiner la chaîne directement. Si la couleur récupérée est noire, l’application doit appeler GrayString pour griser le texte.

Notes

L’en-tête winuser.h définit GrayString en tant qu’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. La combinaison 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 winuser.h (inclure Windows.h)
Bibliothèque User32.lib
DLL User32.dll

Voir aussi

DrawText

GetSysColor

OutputProc

Fonctions de peinture et de dessin

Vue d’ensemble de la peinture et du dessin

SetTextColor

TabbedTextOut

Textout