NM_CUSTOMDRAW (树视图) 通知代码
由树视图控件发送,以通知其父窗口有关绘制操作的信息。 此通知代码以 WM_NOTIFY 消息的形式发送。
NM_CUSTOMDRAW
lpNMCustomDraw = (LPNMTVCUSTOMDRAW) lParam;
参数
-
lParam
-
指向 NMTVCUSTOMDRAW 结构的指针,该结构包含并接收有关绘图操作的信息。 此结构的 nmcd 成员的 dwItemSpec 成员包含所绘制项的句柄。 此结构的 nmcd 成员的 lItemlParam 成员包含所绘制项的 lParam。
返回值
应用程序可以返回的值取决于当前绘图阶段。 关联的 NMCUSTOMDRAW 结构的 dwDrawStage 成员包含一个指定绘图阶段的值。 必须返回以下值之一。
返回代码 | 说明 |
---|---|
|
控件绘制自身。 它不会为此绘制周期发送任何其他 NM_CUSTOMDRAW 代码。 当 dwDrawStage 等于 CDDS_PREPAINT 时,将发生这种情况。 |
|
控件通知父级任何与项相关的绘图操作。 它在绘制项之前和之后发送 NM_CUSTOMDRAW 通知代码。 当 dwDrawStage 等于 CDDS_PREPAINT 时,将发生这种情况。 |
|
控件在擦除项后通知父级。当 dwDrawStage 等于 CDDS_PREPAINT 时,将发生这种情况。 |
|
控件在绘制项后通知父级。 当 dwDrawStage 等于 CDDS_PREPAINT 时,将发生这种情况。 |
|
版本 4.71。 控件在绘制列表视图子项时通知父项。 当 dwDrawStage 等于 CDDS_PREPAINT 时,将发生这种情况。 |
|
应用程序为项指定了新字体;控件将使用新字体。 有关更改字体的详细信息,请参阅 更改字体和颜色。 当 dwDrawStage 等于 CDDS_ITEMPREPAINT 时,将发生这种情况。 |
|
应用程序手动绘制项。 控件不会绘制项。 当 dwDrawStage 等于 CDDS_ITEMPREPAINT 时,将发生这种情况。 |
备注
版本 5.80。 如果通过返回 CDRF_NEWFONT更改字体,则树视图控件可能会显示剪裁的文本。 此行为是与早期版本的公共控件向后兼容所必需的。 如果要更改树视图控件的字体,在向控件添加任何项之前,如果发送 wParam 值设置为 5 的CCM_SETVERSION消息,将得到更好的结果。
要求
要求 | 值 |
---|---|
最低受支持的客户端 |
Windows Vista [仅限桌面应用] |
最低受支持的服务器 |
Windows Server 2003 [仅限桌面应用] |
标头 |
|