NM_CUSTOMDRAW (button) notification code

Notifies the parent window of a button control about custom draw operations on the button.

The button control sends this notification code in the form of a WM_NOTIFY message.

NM_CUSTOMDRAW

    lpNMCustomDraw = (LPNMCUSTOMDRAW) lParam;

Parameters

lParam

A pointer to an NMCUSTOMDRAW structure that contains information about the drawing operation. The dwItemSpec member of this structure contains the index of the item being drawn and the lItemlParam member of this structure contains the item's lParam.

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.

Return code Description
CDRF_NOTIFYPOSTERASE
The control will notify the parent after erasing an item. This can be used only if dwDrawStage equals CDDS_PREERASE.
CDRF_NOTIFYPOSTPAINT
The control will notify the parent after painting an item. This can be used only if dwDrawStage equals CDDS_PREPAINT.
CDRF_SKIPDEFAULT
The application drew the item manually. The control will not draw the item. This can be used when dwDrawStage equals CDDS_PREERASE or CDDS_PREPAINT.

Remarks

If the button control is marked ownerdraw (BS_OWNERDRAW), the NM_CUSTOMDRAW notification code is not sent.

See Using Custom Draw for further discussion.

Note

To use this notification code, you must provide a manifest specifying Comclt32.dll version 6.0. For more information on manifests, see Enabling Visual Styles.

Requirements

Requirement Value
Minimum supported client
Windows Vista [desktop apps only]
Minimum supported server
Windows Server 2003 [desktop apps only]
Header
Commctrl.h (include Windows.h)