Partager via


code de notification NM_CUSTOMDRAW (arborescence)

Envoyé par un contrôle d’arborescence pour notifier sa fenêtre parente des opérations de dessin. Ce code de notification est envoyé sous la forme d’un message WM_NOTIFY .

NM_CUSTOMDRAW

    lpNMCustomDraw = (LPNMTVCUSTOMDRAW) lParam;

Paramètres

lParam

Pointeur vers une structure NMTVCUSTOMDRAW qui contient et reçoit des informations sur l’opération de dessin. Le membre dwItemSpec du membre nmcd de cette structure contient le handle de l’élément en cours de dessin. Le membre lItemlParam du membre nmcd de cette structure contient lParam de l’élément en cours de dessin.

Valeur retournée

La valeur que votre application peut retourner 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. Vous devez retourner l’une des valeurs suivantes.

Code de retour Description
CDRF_DODEFAULT
Le contrôle se dessine lui-même. Il n’envoie pas de codes NM_CUSTOMDRAW supplémentaires pour ce cycle de peinture. Cela se produit lorsque dwDrawStage est égal à CDDS_PREPAINT.
CDRF_NOTIFYITEMDRAW
Le contrôle avertit le parent de toutes les opérations de dessin liées à l’élément. Il envoie NM_CUSTOMDRAW codes de notification avant et après les éléments de dessin. Cela se produit lorsque dwDrawStage est égal à CDDS_PREPAINT.
CDRF_NOTIFYPOSTERASE
Le contrôle avertit le parent après l’effacement d’un élément. Cela se produit lorsque dwDrawStage est égal à CDDS_PREPAINT.
CDRF_NOTIFYPOSTPAINT
Le contrôle avertit le parent après avoir peint un élément. Cela se produit lorsque dwDrawStage est égal à CDDS_PREPAINT.
CDRF_NOTIFYSUBITEMDRAW
Version 4.71. Le contrôle avertit le parent lorsqu’un sous-élément d’affichage de liste est en cours de dessin. Cela se produit lorsque dwDrawStage est égal à CDDS_PREPAINT.
CDRF_NEWFONT
Votre application a spécifié une nouvelle police pour l’élément ; le contrôle utilisera la nouvelle police. Pour plus d’informations sur la modification des polices, consultez Modification des polices et des couleurs. Cela se produit lorsque dwDrawStage est égal à CDDS_ITEMPREPAINT.
CDRF_SKIPDEFAULT
Votre application a dessiné l’élément manuellement. Le contrôle ne dessine pas l’élément. Cela se produit lorsque dwDrawStage est égal à CDDS_ITEMPREPAINT.

Notes

Version 5.80. Si vous modifiez la police en retournant CDRF_NEWFONT, le contrôle d’arborescence peut afficher du texte coupé. Ce comportement est nécessaire pour la compatibilité descendante avec les versions antérieures des contrôles communs. Si vous souhaitez modifier la police d’un contrôle arborescence, vous obtiendrez de meilleurs résultats si vous envoyez un message CCM_SETVERSION avec la valeur wParam définie sur 5 avant d’ajouter des éléments au contrôle.

Spécifications

Condition requise Valeur
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

Voir aussi

Utilisation du dessin personnalisé