0 out of 3 rated this helpful - Rate this topic

NM_CUSTOMDRAW (button) notification code

Applies to: desktop apps only

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 codeDescription
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

Minimum supported client

Windows XP

Minimum supported server

Windows Server 2003

Header

Commctrl.h (include Windows.h)

 

 

Send comments about this topic to Microsoft

Build date: 3/6/2012

Did you find this helpful?
(1500 characters remaining)
Community Content Add
Annotations FAQ