Я пытаюсь применить настраиваемые цвета фона строк в списковой обзор в приложении Win32 на основе диалога с использованием wm_notify и nm_customdraw .
Однако цвета не применяются правильно, и ListView появляется с его цветами по умолчанию. /> [*] Установите lvs_owndradrawfixed в listView_setextendistSiveStyle () .
обработанная wm_notify с CDDS_PRepaint и CDDS_ITEMPREPAINT hwndFrom == featherListView) {
LPNMLVCUSTOMDRAW lplvcd = (LPNMLVCUSTOMDRAW)lParam;
switch (lplvcd->nmcd.dwDrawStage) {
case CDDS_PREPAINT:
return CDRF_NOTIFYITEMDRAW;
case CDDS_ITEMPREPAINT:
return CDRF_NOTIFYSUBITEMDRAW;
case CDDS_SUBITEM | CDDS_ITEMPREPAINT:
{
int row = lplvcd->nmcd.dwItemSpec;
if (row == 0) {
lplvcd->clrTextBk = RGB(50, 100, 200);
lplvcd->clrText = RGB(255, 255, 255);
}
else if (row % 2 == 0) {
lplvcd->clrTextBk = RGB(220, 230, 250);
}
else {
lplvcd->clrTextBk = RGB(240, 240, 255);
}
return CDRF_NEWFONT;
}
}
}
break;
< /code>
< /li>
< /ul>
Ожидаемое поведение: < /p>
Ряд списков должен иметь чередующиеся цвета фона (синий для заголовка, светлый синий для ровных рядов, очень светлые для нечетных рядов). < /p>
. Видимо.>
Подробнее здесь: https://stackoverflow.com/questions/795 ... n-win32-ap