Fonction DrawFrameControl (winuser.h)

La fonction DrawFrameControl dessine un contrôle frame du type et du style spécifiés.

Syntaxe

BOOL DrawFrameControl(
  [in] HDC    hdc,
  [in] LPRECT lprc,
  [in] UINT   uType,
  [in] UINT   uState
);

Paramètres

[in] hdc

Handle du contexte d’appareil de la fenêtre dans laquelle dessiner le contrôle.

[in] lprc

Pointeur vers une structure RECT qui contient les coordonnées logiques du rectangle englobant pour le contrôle frame.

[in] uType

Type de contrôle frame à dessiner. Ce paramètre peut prendre les valeurs suivantes.

Valeur Signification
DFC_BUTTON
Bouton Standard
DFC_CAPTION
Barre de titre
DFC_MENU
Barre de menus
DFC_POPUPMENU
Élément de menu contextuel.
DFC_SCROLL
Scroll bar

[in] uState

État initial du contrôle frame. Si uType est DFC_BUTTON, uState peut être l’une des valeurs suivantes.

Valeur Signification
DFCS_BUTTON3STATE
Bouton à trois états
DFCS_BUTTONCHECK
Case à cocher
DFCS_BUTTONPUSH
Bouton-poussoir
DFCS_BUTTONRADIO
Radio button
DFCS_BUTTONRADIOIMAGE
Image pour la case d’option (nonsquare nécessite une image)
DFCS_BUTTONRADIOMASK
Masque pour la case d’option (nonsquare a besoin de masque)
 

Si uType est DFC_CAPTION, uState peut être l’une des valeurs suivantes.

Valeur Signification
DFCS_CAPTIONCLOSE
Bouton Fermer
DFCS_CAPTIONHELP
Bouton Aide
DFCS_CAPTIONMAX
Bouton Agrandir
DFCS_CAPTIONMIN
Bouton Réduire
DFCS_CAPTIONRESTORE
Bouton Restaurer
 

Si uType est DFC_MENU, uState peut avoir l’une des valeurs suivantes.

Valeur Signification
DFCS_MENUARROW
Flèche de sous-menu
DFCS_MENUARROWRIGHT
Flèche de sous-menu pointant vers la gauche. Ceci est utilisé pour les menus en cascade de droite à gauche utilisés avec des langues de droite à gauche telles que l’arabe ou l’hébreu.
DFCS_MENUBULLET
Balle
DFCS_MENUCHECK
Coche
 

Si uType est DFC_SCROLL, uState peut être l’une des valeurs suivantes.

Valeur Signification
DFCS_SCROLLCOMBOBOX
Barre de défilement de zone de liste déroulante
DFCS_SCROLLDOWN
Flèche vers le bas de la barre de défilement
DFCS_SCROLLLEFT
Flèche gauche de la barre de défilement
DFCS_SCROLLRIGHT
Flèche droite de la barre de défilement
DFCS_SCROLLSIZEGRIP
Poignée de taille dans le coin inférieur droit de la fenêtre
DFCS_SCROLLSIZEGRIPRIGHT
Poignée de taille dans le coin inférieur gauche de la fenêtre. Il est utilisé avec les langues de droite à gauche telles que l’arabe ou l’hébreu.
DFCS_SCROLLUP
Flèche vers le haut de la barre de défilement
 

Le style suivant peut être utilisé pour ajuster le rectangle englobant du bouton poussage.

Valeur Signification
DFCS_ADJUSTRECT
Le rectangle englobant est ajusté pour exclure le bord environnant du bouton poussoir.
 

Une ou plusieurs des valeurs suivantes peuvent être utilisées pour définir l’état du contrôle à dessiner.

Valeur Signification
DFCS_CHECKED
Le bouton est activé.
DFCS_FLAT
Le bouton a une bordure plate.
DFCS_HOT
Le bouton est suivi à chaud.
DFCS_INACTIVE
Le bouton est inactif (grisé).
DFCS_MONO
Le bouton a une bordure monochrome.
DFCS_PUSHED
Le bouton est enfoncé.
DFCS_TRANSPARENT
L’arrière-plan reste intact. Cet indicateur ne peut être combiné qu’avec DFCS_MENUARROWUP ou DFCS_MENUARROWDOWN.

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

Si uType est DFC_MENU ou DFC_BUTTON et que uState n’est pas DFCS_BUTTONPUSH, le contrôle frame est un masque noir sur blanc (autrement dit, un contrôle d’image noir sur un arrière-plan blanc). Dans ce cas, l’application doit passer un handle à un contrôle de périphérique de mémoire bitmap. L’application peut ensuite utiliser l’image bitmap associée en tant que paramètre hbmMask pour la fonction MaskBlt , ou utiliser le contexte de l’appareil comme paramètre de la fonction BitBlt à l’aide de ROP telles que SRCAND et SRCINVERT.

Virtualisation DPI

Cette API ne participe pas à la virtualisation DPI. L’entrée donnée est toujours en termes de pixels physiques et n’est pas liée au contexte appelant.

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
Ensemble d’API ext-ms-win-ntuser-draw-l1-1-2 (introduit dans Windows 10, version 10.0.10240)

Voir aussi

Fonctions de peinture et de dessin

Vue d’ensemble de la peinture et du dessin

RECT