我目前正在尝试更改 TreeView 项目的背景颜色。因此,我使用此消息来创建项目:
SendMessage(ListView, LVM_INSERTITEM, 0, (LPARAM)&lvI);
此外,我正在处理这样的自定义绘图消息:
case WM_NOTIFY:
{
LPNMLISTVIEW pnm = (LPNMLISTVIEW)lParam;
if (pnm->hdr.code == NM_CUSTOMDRAW)
{
LPNMLVCUSTOMDRAW lplvcd = (LPNMLVCUSTOMDRAW)lParam;
switch (lplvcd->nmcd.dwDrawStage)
{
case CDDS_PREPAINT :
return CDRF_NOTIFYITEMDRAW;
case CDDS_ITEMPREPAINT:
lplvcd->clrTextBk = ???;
return CDRF_NEWFONT;
}
}
这很好用,我可以将颜色设置为任何我想要的颜色,但是,我还没有找到一种方法在我发送消息时将颜色作为参数传递。毕竟,当我只能分配恒定或随机颜色时,自定义绘制对我来说毫无用处。
感谢您提供任何帮助!