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 vers le 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 d’autres états.

[in] qfnCallBack

Pointeur vers une fonction de rappel définie par l’application utilisée pour restituer l’image. Ce paramètre est obligatoire si le type d’image dans fuFlags est DST_COMPLEX. Il est facultatif 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, il n’est pas étendu pour une utilisation avec la fonction DrawStateProc.

[in] x

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

[in] y

Emplacement vertical, dans les unités d’appareil, auquel dessiner l’image.

[in] cx

Largeur de l’image, en unités d’appareil. Ce paramètre est requis 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 requis 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 mnémonique accélérateur. DrawState interprète le caractère de préfixe d’ampersand (&) comme 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’ampersand (&) dans le texte, de sorte que la lettre qui suit ne sera pas soulignée. Cela 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 modification.
DSS_PREFIXONLY
Dessine uniquement le soulignement à la position de la lettre après le caractère de préfixe d’ampersand (&). Aucun texte de la chaîne n’est dessiné. Cela doit être utilisé avec DST_PREFIXTEXT.
DSS_RIGHT
Aligne le texte à droite.
DSS_UNION
Dithers l’image.
 

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

Valeur de retour

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

Note

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

Exigences

Exigence Valeur
client minimum pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
serveur minimum pris en charge Windows 2000 Server [applications de bureau uniquement]
plateforme cible Windows
d’en-tête winuser.h (include 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