Здравствуйте, SurvivorPhantom, Вы писали:
SP>Как бы Вы меняли цвет этого контрола?
Я бы для этого контрола написал примерно следующее:
if (uMsg==WM_DRAWITEM && wParam==IDC_COLOR_DISPLAY)
{
LPDRAWITEMSTRUCT pdis=(LPDRAWITEMSTRUCT)lParam;
if (pdis->itemAction==ODA_DRAWENTIRE)
{
// для иллюстрации это здесь, а вообще кисть надо бы создавать один раз (например при создании диалога)
HBRUSH hbr=CreateSolidBrush(RGB(255,0,0));
FillRect(lpDrawItemStruct->hDC,&lpDrawItemStruct->rcItem,hbr);
return TRUE;
}
return 0; //в случае если дело происходит в диалоге, иначе - вызов DefWindowProc
}
SP> ...разве это не перекрывает друг друга?
нет, не перекрывает: SetBkColor — устанавливает цвет фона текста, а возвращение кисти из WM_CTLCOLOR-сообщений — устанавливает фоновый цвет всего контрола, чтобы увидеть разницу поэкспериментируйте на простом Static-контроле.