Partager via


code de notification NM_CUSTOMDRAW (affichage liste)

Envoyé par un contrôle d’affichage de liste pour informer ses fenêtres parentes des opérations de dessin. Ce code de notification est envoyé sous la forme d’un message WM_NOTIFY .

NM_CUSTOMDRAW

    lpNMCustomDraw = (LPNMLVCUSTOMDRAW) lParam;

Paramètres

lParam

Pointeur vers une structure NMLVCUSTOMDRAW qui contient des informations sur l’opération de dessin. Le premier membre de cette structure, nmcd, est un pointeur vers une structure NMCUSTOMDRAW . Le membre dwItemSpec de la structure pointée vers nmcd contient l’identificateur de l’élément en cours de dessin et le membre lItemlParam contient ses données définies par l’application.

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 l’étape 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 de notification de NM_CUSTOMDRAW supplémentaires pour ce cycle de peinture. Cela se produit lorsque dwDrawStage est égal à CDDS_PREPAINT.
CDRF_DOERASE
Windows Vista. Le contrôle peindra uniquement l’arrière-plan.
CDRF_NOTIFYITEMDRAW
Le contrôle avertit le parent de toutes les opérations de dessin liées à un élément. Il envoie NM_CUSTOMDRAW codes de notification avant et après le dessin des éléments. 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_NEWFONT
L’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_NOTIFYSUBITEMDRAW
Version 4.71. Votre application recevra un code de contrôle NM_CUSTOMDRAW avec dwDrawStage défini sur CDDS_ITEMPREPAINT | CDDS_SUBITEM avant que chaque sous-élément de vue 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
L’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
Windows Vista. Le contrôle ne dessine pas le rectangle de focus.

Notes

Version 5.80. Si vous modifiez la police en retournant CDRF_NEWFONT, le contrôle list-view peut afficher du texte rogné. Ce comportement est nécessaire pour la compatibilité descendante avec les versions antérieures des contrôles courants. Si vous souhaitez modifier la police d’un contrôle list-view, 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