現在、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;
}
}
これはうまく機能し、色を好きなように設定できますが、メッセージを送信するときに色をパラメーターとして渡す方法はまだ見つかりません。結局のところ、定数またはランダムな色しか割り当てられない場合、カスタム描画は役に立ちません。
助けてくれてありがとう!