NM_CUSTOMDRAW (工具栏) 通知代码

工具栏发送以通知其父窗口有关绘图操作的信息。 此通知代码以 WM_NOTIFY 消息的形式发送。

NM_CUSTOMDRAW
        
    lpNMCustomDraw = (LPNMCUSTOMDRAW) lParam;

参数

lParam

版本 4.70。 指向包含绘图操作信息的 NMCUSTOMDRAW 结构的指针。 此结构的 dwItemSpec 成员包含所绘制项的命令标识符。 此结构的 lItemlParam 成员包含要绘制的项的 dwData 值。

版本 4.71。 指向包含绘图操作信息的 NMTBCUSTOMDRAW 结构的指针。 此结构的 nmcd 成员的 dwItemSpec 成员包含所绘制项的命令标识符。 此结构的 nmcd 成员的 lItemlParam 成员包含要绘制的项的 dwData 值。

返回值

应用程序可以返回的值取决于当前绘图阶段。 关联的 NMCUSTOMDRAW 结构的 dwDrawStage 成员包含一个指定绘图阶段的值。 必须返回以下值之一。

返回代码 说明
CDRF_DODEFAULT
控件将自行绘制。 它不会为此绘制周期发送任何其他 NM_CUSTOMDRAW 通知代码。 当 dwDrawStage 等于CDDS_PREPAINT时,将发生这种情况。
CDRF_NOTIFYITEMDRAW
该控件将通知父级任何与项相关的绘图操作。 它将在绘图项前后发送 NM_CUSTOMDRAW 通知代码。 当 dwDrawStage 等于CDDS_PREPAINT时,将发生这种情况。
CDRF_NOTIFYPOSTERASE
删除项后,控件将通知父级。 当 dwDrawStage 等于CDDS_PREPAINT时,将发生这种情况。
CDRF_NOTIFYPOSTPAINT
控件在绘制项目后会通知父级。 当 dwDrawStage 等于CDDS_PREPAINT时,将发生这种情况。
CDRF_NOTIFYSUBITEMDRAW
版本 4.71。 控件将在绘制列表视图子项时通知父级。 当 dwDrawStage 等于CDDS_PREPAINT时,将发生这种情况。
CDRF_NEWFONT
应用程序为项目指定了新字体;控件将使用新字体。 有关更改字体的详细信息,请参阅 更改字体和颜色。 当 dwDrawStage 等于CDDS_ITEMPREPAINT时,将发生这种情况。
CDRF_SKIPDEFAULT
应用程序手动绘制项目。 控件不会绘制项。 当 dwDrawStage 等于CDDS_ITEMPREPAINT时,将发生这种情况。
TBCDRF_BLENDICON
版本 5.00。 将按钮 50% 与背景混合。 当 dwDrawStage 等于CDDS_ITEMPREPAINT时,将发生这种情况。
TBCDRF_NOBACKGROUND
版本 5.00。 不要绘制按钮背景。 当 dwDrawStage 等于CDDS_ITEMPREPAINT时,将发生这种情况。
TBCDRF_NOEDGES
版本 4.71。 不要绘制按钮边缘。 当 dwDrawStage 等于CDDS_ITEMPREPAINT时,将发生这种情况。
TBCDRF_HILITEHOTTRACK
版本 4.71。 使用 NMTBCUSTOMDRAW 结构的 clrHighlightHotTrack 成员绘制热跟踪项的背景。 当 dwDrawStage 等于CDDS_ITEMPREPAINT时,将发生这种情况。
TBCDRF_NOOFFSET
版本 4.71。 按下时不要偏移按钮。 当 dwDrawStage 等于CDDS_ITEMPREPAINT时,将发生这种情况。
TBCDRF_NOMARK
不要绘制具有 TBSTATE_MARKED的项目的默认突出显示。 当 dwDrawStage 等于CDDS_ITEMPREPAINT时,将发生这种情况。
TBCDRF_NOETCHEDEFFECT
版本 4.71。 不要为已禁用的项目绘制刻刻效果。 当 dwDrawStage 等于CDDS_ITEMPREPAINT时,将发生这种情况。
TBCDRF_USECDCOLORS
版本 6.00,仅Windows Vista。 使用自定义绘图颜色来呈现文本,而不考虑视觉样式。

要求

要求
最低受支持的客户端
Windows Vista [仅限桌面应用]
最低受支持的服务器
Windows Server 2003 [仅限桌面应用]
标头
Commctrl.h

另请参阅

使用自定义绘图