Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.15.179.121] |
|
Сообщ.
#1
,
|
|
|
При размещении списка элементов класса CListCtrl в окошке ,произошедшем от CListView, столкнулся с проблемой. Как можно изменить, например background, неактивных элементов списка?
Спасибо. |
Сообщ.
#2
,
|
|
|
Напиши класс производный от CListCtrl и в нем наследую функцию DrawItem, она рисует элементы. Потом создай CListView на основе нового класса
|
Сообщ.
#3
,
|
|
|
Смотри MSDN:
Platgform SDK/User Interface Services/Windows Common Controls/List View Controls/Overview of List View Controls/List View Colors ... точнее NM_CUSTOMDRAW |
Сообщ.
#4
,
|
|
|
Так яиспользовал для Дерева, но суть таже
BEGIN_MESSAGE_MAP( .... ON_NOTIFY_REFLECT(NM_CUSTOMDRAW, OnCustomDraw) void CColorView::OnCustomDraw(NMHDR* pNMHDR, LRESULT* pResult) { NMTVCUSTOMDRAW* pTVCustomDraw = (NMTVCUSTOMDRAW*)pNMHDR; *pResult = CDRF_DODEFAULT; switch(pTVCustomDraw->nmcd.dwDrawStage) { case CDDS_PREPAINT: *pResult |= CDRF_NOTIFYITEMDRAW; break; case CDDS_ITEMPREPAINT: pTVCustomDraw->clrText = RGB(0, 0, 255 - (25 * pTVCustomDraw->iLevel)); break; } } |