NM_CUSTOMDRAW (button) Notification

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

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

Syntax

NM_CUSTOMDRAW
    
    WPARAM wParam
    lpNMCustomDraw = (LPNMCUSTOMDRAW) lParam;
    

Parameters

wParam
This parameter is not used.
lpNMCustomDraw
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.

CDRF_NOTIFYPOSTERASEThe control will notify the parent after erasing an item. This can be used only if dwDrawStage equals CDDS_PREERASE.
CDRF_NOTIFYPOSTPAINTThe control will notify the parent after painting an item. This can be used only if dwDrawStage equals CDDS_PREPAINT.
CDRF_SKIPDEFAULTThe 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 custom draw notification is not sent.

See Using Custom Draw for further discussion.

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

Notification Requirements

Minimum DLL Version None
HeaderDeclared in Commctrl.h, include Windows.h
Minimum operating systems Windows XP
Tags :


Page view tracker