CListViewCtrl scroll
От: vassilux Франция  
Дата: 23.03.09 09:35
Оценка:
Привет всем,
Пишу контрол на базе CCheckListViewCtrlImpl и CCustomDraw для ППК.
Контрол имеет две колонны "check box", вторую колонну деляю на базe
CButton::Create(m_hWnd, rcDefault, 0, WS_VISIBLE |WS_CHILD | BS_AUTOCHECKBOX | BS_LEFTTEXT)

для отрисовки
в OnSubItemPrePaint( int idCtrl, LPNMCUSTOMDRAW lpNMCustomDraw )
{
...
int nItem = lpNMCustomDraw->dwItemSpec;
int nSubItem = pLvCustomDraw->iSubItem;
...
pOperationButton = GetOperation(nItem); // "check box"
CRect rc;
GetSubItemRect(nItem ,
nSubItem , LVIR_BOUNDS, &rc);
rc.DeflateRect(2, 2, 2, 2);
pOperationButton->SetWindowPos(NULL, &rc, SWP_SHOWWINDOW | SWP_NOZORDER);
return CDRF_SKIPDEFAULT;
}


Проблема заклучается в том когда контрол нужно скролировать мои "собственные check box" не перимещаются по вертикале
по горизонтале работает нормално если не было перемещения по вертикале .
пробовал тупо в
MSG_WM_VSCROLL(OnVScroll)


что то типа
if(SB_ENDSCROLL == nSBCode )
{
RedrawItems(0, GetItemCount());
}


Может делать такое количество "check box" сколко видимых линий в моем листе ?


Куда мне копать
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.