В лист контроле (вид LVS_REPORT) ловлю WM_NCCALCSIZE и уменьшаю размер клиентской области.
void CMyListCtrl::OnNcCalcSize(BOOL bCalcValidRects, NCCALCSIZE_PARAMS* lpncsp)
{
CRect& rc = static_cast<CRect&> (lpncsp->rgrc[0]);
rc.top += 20;
CListCtrl::OnNcCalcSize(bCalcValidRects, lpncsp);
}
Но вертикальный скролл бар решает когда ему появиться, судя по всему, по старым размерам. Поэтому последняя строчка не видна.
Что интересно, рисуется он в нужной области, но всё остальное по старым размерам.
Что это, баг или я забыл что-то вызвать?
P.S. Кому интересно могу выслать исходники.