Доброго времени суток всем. Требуется помощь с хидером листвью. В режиме CUSTOMDRAW не хочет нормально функционировать. Получаю в WndProc WM_NOTIFY->NM_CUSTOMDRAW для header'a листвью. Передаю (NMCUSTOMDRAW*) lParam в проц. рисования. Тут 2 проблемы: 1. Рисую колонки хидера, вывожу текст, но не по стандартным для данной ситуации состояниям поля NMCUSTOMDRAW->uItemState (CDIS_HOT, CDIS_FOCUS, CDIS_DEFAULT), а по uItemState = 512(WM_MOUSEMOVE) и uItemState(WM_LBUTTONDOWN) = 513. А те uItemState, которые должны были быть - их нет Соответственно, не могу отследить, когда мышь покидает пределы хидера. Почему в uItemState такие константы? 2. Колонки ресайзятся все, кроме второй... Колонок 5 шт. Тоже непонятно, чем вторая отличается от остальных? Тут процедура рисования: Код (Text): int HeaderDrawProc(LPARAM lParam){ NMCUSTOMDRAW* lpNMCustDraw; HBRUSH hBrushFill, hBrushFrame; char buffer[32]; lpNMCustDraw = (NMCUSTOMDRAW*) lParam; switch(lpNMCustDraw->dwDrawStage) { case CDDS_PREPAINT : return CDRF_NOTIFYITEMDRAW; case CDDS_ITEMPREPAINT: if (lpNMCustDraw->uItemState == 512) { hBrushFill= CreateSolidBrush(0x0000cc00); hBrushFrame= CreateSolidBrush(0x00cc0000); } else if (lpNMCustDraw->uItemState == 513) { hBrushFrame = CreateSolidBrush(0x0000cc00); hBrushFill = CreateSolidBrush(0x00cc0000); } SelectObject(lpNMCustDraw->hdc, hFont); SetTextColor(lpNMCustDraw->hdc, 0x000000ff); SetBkMode(lpNMCustDraw->hdc,TRANSPARENT); LoadString(hInstance,lpNMCustDraw->dwItemSpec+1100,buffer,32); FillRect(lpNMCustDraw->hdc, &(lpNMCustDraw->rc), hBrushFill); FrameRect(lpNMCustDraw->hdc, &(lpNMCustDraw->rc), hBrushFrame); DrawText(lpNMCustDraw->hdc, buffer, -1, &lpNMCustDraw->rc, 0x65); DeleteObject(hBrushFrame); DeleteObject(hBrushFill); return CDRF_SKIPDEFAULT; } return 0; } Где тут капкан может быть, подскажите. P.S. На всякий случай - родитель хидера - virtual listview.