Structure NMCUSTOMDRAW (commctrl.h)
Contient des informations spécifiques à un code de notification NM_CUSTOMDRAW .
Syntaxe
typedef struct tagNMCUSTOMDRAWINFO {
NMHDR hdr;
DWORD dwDrawStage;
HDC hdc;
RECT rc;
DWORD_PTR dwItemSpec;
UINT uItemState;
LPARAM lItemlParam;
} NMCUSTOMDRAW, *LPNMCUSTOMDRAW;
Membres
hdr
Type : NMHDR
Structure NMHDR qui contient des informations sur ce code de notification.
dwDrawStage
Type : DWORD
Étape de dessin actuelle. Il s’agit de l’une des valeurs suivantes.
Valeur | Signification |
---|---|
|
|
|
Une fois le cycle d’effacement terminé. |
|
Une fois le cycle de peinture terminé. |
|
Avant que le cycle d’effacement ne commence. |
|
Avant le début du cycle de peinture. |
|
|
|
Indique que les membres dwItemSpec, uItemState et lItemlParam sont valides. |
|
Une fois qu’un élément a été effacé. |
|
Une fois qu’un élément a été dessiné. |
|
Avant l’effacement d’un élément. |
|
Avant qu’un élément ne soit dessiné. |
|
Indicateur combiné avec CDDS_ITEMPREPAINT ou CDDS_ITEMPOSTPAINT si un sous-élément est dessiné. Ce paramètre ne sera défini que si CDRF_NOTIFYITEMDRAW est retourné par CDDS_PREPAINT. |
hdc
Type : HDC
Handle du contexte d’appareil du contrôle. Utilisez ce HDC pour effectuer des fonctions GDI.
rc
Type : RECT
Structure RECT qui décrit le rectangle englobant de la zone dessinée. Ce membre est initialisé uniquement par la notification CDDS_ITEMPREPAINT. Version 5.80. Ce membre est également initialisé par la notification CDDS_PREPAINT.
dwItemSpec
Type : DWORD_PTR
Numéro d’élément. Ce qui est contenu dans ce membre dépend du type de contrôle qui envoie la notification. Consultez la référence de notification NM_CUSTOMDRAW pour le contrôle spécifique afin de déterminer ce qui, le cas échéant, est contenu dans ce membre.
uItemState
Type : UINT
État actuel de l’élément. Cette valeur est une combinaison des indicateurs suivants.
Valeur | Signification |
---|---|
|
L'élément est activé. |
|
L'élément est dans son état par défaut. |
|
L’élément est désactivé. |
|
L’élément est en focus. |
|
L'élément est grisé. |
|
L’élément se trouve actuellement sous le pointeur (« chaud »). |
|
L'élément est dans un état indéterminé. |
|
L'élément est marqué. La signification de cela est déterminée par l’implémentation. |
|
L'élément est sélectionné.
Note Cet indicateur ne fonctionne pas correctement pour les contrôles d’affichage de liste dessinés par le propriétaire qui ont le style LVS_SHOWSELALWAYS . Pour ces contrôles, vous pouvez déterminer si un élément est sélectionné en utilisant LVM_GETITEMSTATE (ou ListView_GetItemState) et en vérifiant l’indicateur LVIS_SELECTED .
|
|
Version 6.0.L’élément affiche ses signaux clavier. Notez que Comctl32 version 6 n’est pas redistribuable. systèmes d’exploitation. Pour utiliser Comctl32.dll version 6, spécifiez-la dans le manifeste. Pour plus d’informations sur les manifestes, consultez Activation des styles visuels. |
|
L’élément fait partie d’un contrôle qui se trouve actuellement sous le pointeur de la souris (« chaud »), mais l’élément n’est pas « chaud » lui-même. La signification de cela est déterminée par l’implémentation. |
|
L’élément fait partie d’un bouton partagé qui se trouve actuellement sous le pointeur de la souris (« chaud »), mais l’élément n’est pas « chaud » lui-même. La signification de cela est déterminée par l’implémentation. |
|
L’élément est actuellement la cible de déplacement d’une opération de glisser-déplacer. |
lItemlParam
Type : LPARAM
Données d’élément définies par l’application.
Remarques
La valeur retournée par votre application dépend de la phase de dessin actuelle. Le membre dwDrawStage de la structure NMCUSTOMDRAW associée contient une valeur qui spécifie la phase de dessin. Lorsque le membre dwDrawStage est égal à CDDS_PREPAINT et CDDS_PREERASE, certains contrôles envoient d’abord le message CDDS_PREERASE et s’attendent à ce que la valeur de retour indique quels messages suivants seront envoyés. Pour obtenir un exemple de code illustrant les états et les étapes de dessin, consultez Personnalisation de l’apparence d’un contrôle à l’aide d’un dessin personnalisé.
Configuration requise
Client minimal pris en charge | Windows Vista [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2003 [applications de bureau uniquement] |
En-tête | commctrl.h |