Partager via


Fonction DrawStateA (winuser.h)

La fonction DrawState affiche une image et applique un effet visuel pour indiquer un état, tel qu’un état désactivé ou par défaut.

Syntaxe

BOOL DrawStateA(
  [in] HDC           hdc,
  [in] HBRUSH        hbrFore,
  [in] DRAWSTATEPROC qfnCallBack,
  [in] LPARAM        lData,
  [in] WPARAM        wData,
  [in] int           x,
  [in] int           y,
  [in] int           cx,
  [in] int           cy,
  [in] UINT          uFlags
);

Paramètres

[in] hdc

Handle vers le contexte de l’appareil à dessiner.

[in] hbrFore

Handle du pinceau utilisé pour dessiner l’image, si l’état spécifié par le paramètre fuFlags est DSS_MONO. Ce paramètre est ignoré pour les autres états.

[in] qfnCallBack

Pointeur vers une fonction de rappel définie par l’application utilisée pour afficher l’image. Ce paramètre est obligatoire si le type d’image dans fuFlags est DST_COMPLEX. Elle est facultative et peut être NULL si le type d’image est DST_TEXT. Pour tous les autres types d’images, ce paramètre est ignoré. Pour plus d’informations sur la fonction de rappel, consultez la fonction DrawStateProc .

[in] lData

Informations sur l’image. La signification de ce paramètre dépend du type d’image.

[in] wData

Informations sur l’image. La signification de ce paramètre dépend du type d’image. Toutefois, elle est étendue à zéro pour une utilisation avec la fonction DrawStateProc .

[in] x

Emplacement horizontal, en unités d’appareil, à laquelle dessiner l’image.

[in] y

Emplacement vertical, en unités d’appareil, à laquelle dessiner l’image.

[in] cx

Largeur de l’image, en unités d’appareil. Ce paramètre est obligatoire si le type d’image est DST_COMPLEX. Sinon, il peut être égal à zéro pour calculer la largeur de l’image.

[in] cy

Hauteur de l’image, en unités d’appareil. Ce paramètre est obligatoire si le type d’image est DST_COMPLEX. Sinon, il peut être égal à zéro pour calculer la hauteur de l’image.

[in] uFlags

Type et état de l’image. Ce paramètre peut être l’une des valeurs de type suivantes.

Valeur (type) Signification
DST_BITMAP
L’image est une bitmap. Le paramètre lData est le handle bitmap. Notez que la bitmap ne peut pas déjà être sélectionnée dans un contexte d’appareil existant.
DST_COMPLEX
L’image est définie par l’application. Pour afficher l’image, DrawState appelle la fonction de rappel spécifiée par le paramètre lpOutputFunc .
DST_ICON
L’image est une icône. Le paramètre lData est le handle d’icône.
DST_PREFIXTEXT
L’image est du texte qui peut contenir un accélérateur mnémonique. DrawState interprète le caractère préfixe d’esperluette (&) comme une directive pour souligner le caractère qui suit. Le paramètre lData est un pointeur vers la chaîne et le paramètre wData spécifie la longueur. Si wData est égal à zéro, la chaîne doit être terminée par null.
DST_TEXT
L’image est du texte. Le paramètre lData est un pointeur vers la chaîne et le paramètre wData spécifie la longueur. Si wData est égal à zéro, la chaîne doit être terminée par null.
 

Ce paramètre peut également être l’une des valeurs d’état suivantes.

Valeur (état) Signification
DSS_DISABLED
Embosse l’image.
DSS_HIDEPREFIX
Ignore le caractère de préfixe d’esperluette (&) dans le texte, de sorte que la lettre qui suit ne sera pas soulignée. Il doit être utilisé avec DST_PREFIXTEXT.
DSS_MONO
Dessine l’image à l’aide du pinceau spécifié par le paramètre hbr .
DSS_NORMAL
Dessine l’image sans aucune modification.
DSS_PREFIXONLY
Dessine uniquement le soulignement à la position de la lettre après le caractère préfixe d’esperluette (&). Aucun texte dans la chaîne n’est dessiné. Il doit être utilisé avec DST_PREFIXTEXT.
DSS_RIGHT
Aligne le texte à droite.
DSS_UNION
Dithers l’image.
 

Pour tous les états à l’exception de DSS_NORMAL, l’image est convertie en monochrome avant l’application de l’effet visuel.

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

Notes

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

   
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

DrawStateProc

Fonctions de peinture et de dessin

Vue d’ensemble de la peinture et du dessin