Автор
|
Тема: MFC/ Раскрашивание элементов в CListView
|
Infinite |
опубликован 07-02-2001 13:20 MSK
При размещении списка элементов класса CListCtrl в окошке ,произошедшем от CListView, столкнулся с проблемой. Как можно изменить, например background, неактивных элементов списка? Спасибо.
|
DigY
|
опубликован 07-02-2001 17:59 MSK
Напиши класс производный от CListCtrl и в нем наследую функцию DrawItem, она рисует элементы. Потом создай CListView на основе нового класса |
OlegO
|
опубликован 07-02-2001 19:44 MSK
Смотри MSDN: Platgform SDK/User Interface Services/Windows Common Controls/List View Controls/Overview of List View Controls/List View Colors ... точнее NM_CUSTOMDRAW |
OlegO
|
опубликован 07-02-2001 19:47 MSK
Так яиспользовал для Дерева, но суть таже 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; } }
|