Partager via


code de notification NM_CUSTOMDRAW

Avertit la fenêtre parente d’un contrôle des opérations de dessin personnalisées. Ce code de notification est envoyé sous la forme d’un message WM_NOTIFY .

NM_CUSTOMDRAW

#ifdef LIST_VIEW_CUSTOM_DRAW

    lpNMCustomDraw = (LPNMLVCUSTOMDRAW) lParam;

#elif TOOL_TIPS_CUSTOM_DRAW

    lpNMCustomDraw = (LPNMTTCUSTOMDRAW) lParam;

#elif TREE_VIEW_CUSTOM_DRAW

    lpNMCustomDraw = (LPNMTVCUSTOMDRAW) lParam;

#elif TOOL_BAR_CUSTOM_DRAW

    lpNMCustomDraw = (LPNMTBCUSTOMDRAW) lParam;

#else

    lpNMCustomDraw = (LPNMCUSTOMDRAW) lParam;

#endif

Paramètres

lParam

Pointeur vers une structure liée au dessin personnalisée qui contient des informations sur l’opération de dessin. La liste suivante spécifie les contrôles et leurs structures associées.

Control Structure de dessin personnalisée
Barre d’accès, barre de suivi et en-tête NMCUSTOMDRAW
Affichage Liste NMLVCUSTOMDRAW
Info-bulle NMTTCUSTOMDRAW
Arborescence NMTVCUSTOMDRAW
Barre d'outils NMTBCUSTOMDRAW

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’enverra pas de codes de notification de NM_CUSTOMDRAW supplémentaires pour ce cycle de peinture. Cet indicateur ne peut pas être utilisé avec un autre indicateur.
CDRF_DOERASE
Le contrôle dessine uniquement l’arrière-plan.
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_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 envoie un code de notification NM_CUSTOMDRAW lorsque le cycle de peinture de l’ensemble du contrôle est terminé. Cela se produit lorsque dwDrawStage est égal à CDDS_PREPAINT.
CDRF_NOTIFYSUBITEMDRAW
Votre application recevra un code de notification NM_CUSTOMDRAW avec dwDrawStage défini sur CDDS_ITEMPREPAINT | CDDS_SUBITEM avant que chaque sous-élément d’affichage de liste ne soit dessiné. Vous pouvez ensuite spécifier la police et la couleur pour chaque sous-élément séparément ou retourner CDRF_DODEFAULT pour le traitement par défaut. 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.
CDRF_SKIPPOSTPAINT
Le contrôle ne dessine pas le rectangle de focus autour d’un élément.

Notes

Actuellement, les contrôles suivants prennent en charge les fonctionnalités de dessin personnalisées : en-tête, affichage liste, barre d’outils, info-bulle, barre d’accès et arborescence. Le dessin personnalisé est également pris en charge pour les contrôles de bouton si vous disposez d’un manifeste d’application pour vous assurer que Comctl32.dll version 6 est disponible.

Si ce message est géré dans une procédure de boîte de dialogue, vous devez définir la valeur de retour dans les données de la fenêtre avant de retourner TRUE. Pour plus d’informations, consultez DialogProc.

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

Conceptuel

Dessin personnalisé