Sent by a tree-view control to notify its parent window about drawing operations. This notification is sent in the form of a WM_NOTIFY message.
Syntax
NM_CUSTOMDRAW
lpNMCustomDraw = (LPNMTVCUSTOMDRAW) lParam;
Parameters
- lpNMCustomDraw
-
Pointer to an NMTVCUSTOMDRAW structure that contains and receives information about the drawing operation. The dwItemSpec member of the nmcd member of this structure contains the handle of the item being drawn. The lItemlParam member of the nmcd member of this structure contains the lParam of the item being drawn.
Return Value
The value your application can return depends on the current drawing stage. The dwDrawStage member of the associated NMCUSTOMDRAW structure holds a value that specifies the drawing stage. You must return one of the following values.
| CDRF_DODEFAULT | The control draws itself. It does not send any additional NM_CUSTOMDRAW messages for this paint cycle. This occurs when dwDrawStage equals CDDS_PREPAINT. |
| CDRF_NOTIFYITEMDRAW | The control notifies the parent of any item-related drawing operations. It sends NM_CUSTOMDRAW notification messages before and after drawing items. This occurs when dwDrawStage equals CDDS_PREPAINT. |
| CDRF_NOTIFYITEMERASE | The control notifies the parent when an item will be erased. It sends NM_CUSTOMDRAW notification messages before and after erasing items. This occurs when dwDrawStage equals CDDS_PREPAINT. |
| CDRF_NOTIFYPOSTERASE | The control notifies the parent after erasing an item.This occurs when dwDrawStage equals CDDS_PREPAINT. |
| CDRF_NOTIFYPOSTPAINT | The control notifies the parent after painting an item. This occurs when dwDrawStage equals CDDS_PREPAINT. |
| CDRF_NOTIFYSUBITEMDRAW | Version 4.71. The control notifies the parent when a list-view subitem is being drawn. This occurs when dwDrawStage equals CDDS_PREPAINT. |
| CDRF_NEWFONT | Your application specified a new font for the item; the control will use the new font. For more information on changing fonts, see Changing fonts and colors. This occurs when dwDrawStage equals CDDS_ITEMPREPAINT. |
| CDRF_SKIPDEFAULT | Your application drew the item manually. The control will not draw the item. This occurs when dwDrawStage equals CDDS_ITEMPREPAINT. |
Remarks
Version 5.80. If you change the font by returning CDRF_NEWFONT, the tree-view control might display clipped text. This behavior is necessary for backward compatibility with earlier versions of the common controls. If you want to change the font of a tree-view control, you will get better results if you send a CCM_SETVERSION message with the
wParam value set to 5 before adding any items to the control.
Notification Requirements
| Minimum DLL Version | comctl32.dll version 4.70 or later |
|---|
| Header | commctrl.h |
|---|
| Minimum operating systems |
Windows 2000, Windows NT 4.0 with Internet Explorer 3.0, Windows 98, Windows 95 with Internet Explorer 3.0 |
|---|
See Also
Using Custom Draw