NM_CUSTOMDRAW (树视图) 通知代码

由树视图控件发送,以通知其父窗口有关绘制操作的信息。 此通知代码以 WM_NOTIFY 消息的形式发送。

NM_CUSTOMDRAW

    lpNMCustomDraw = (LPNMTVCUSTOMDRAW) lParam;

参数

lParam

指向 NMTVCUSTOMDRAW 结构的指针,该结构包含并接收有关绘图操作的信息。 此结构的 nmcd 成员的 dwItemSpec 成员包含所绘制项的句柄。 此结构的 nmcd 成员的 lItemlParam 成员包含所绘制项的 lParam

返回值

应用程序可以返回的值取决于当前绘图阶段。 关联的 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 时,将发生这种情况。

备注

版本 5.80。 如果通过返回 CDRF_NEWFONT更改字体,则树视图控件可能会显示剪裁的文本。 此行为是与早期版本的公共控件向后兼容所必需的。 如果要更改树视图控件的字体,在向控件添加任何项之前,如果发送 wParam 值设置为 5 的CCM_SETVERSION消息,将得到更好的结果。

要求

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

另请参阅

使用自定义绘图