__Dimentiy |
Отправлено: 28.08.2003, 15:06 |
|
Не зарегистрирован
|
Здравствуй All!
Народ, такая штука:
Есть класс наследник subj`a, в нём переопределяются все процедуры CustomDrawXXX. И не одна из них
не вызывается. Подскажите плз, в чём могет быть дело. Почему эти
процедуры могут не вызываться. Тут же переопределена
MouseUp(...) с ней всё в порядке...
Да, ещё, таким вот макаром переопределена оконная процедура (надо было ловить
SelectItem, а в базовом классе нет виртуальной функции).
Может быть, конечно, что-то здесь не так, должно, же доходить до TListView NM_CUSTOMDRAW, и ведь доходит, т.к.
он перерисовывается, а почему тогда не вызываются эти хреновы обработчики не ясно. Памагите плз.
void __fastcall TListViewEx::WndProc(Messages::TMessage &Message)
{
if (Message.Msg == CN_NOTIFY)
{
LPNMHDR lpNMHDR = (LPNMHDR) Message.LParam;
if (lpNMHDR)
if (lpNMHDR->code == LVN_ITEMCHANGED)
{
LPNMLISTVIEW lpNMLV = (LPNMLISTVIEW) Message.LParam;
if (lpNMLV->uChanged == LVIF_STATE)
if ((lpNMLV->uOldState && LVIS_SELECTED) && ((lpNMLV->uNewState && LVIS_SELECTED) == 0))
SetSelectedSubItemIndex(FSelectedSubItemIndex);
else if (((lpNMLV->uOldState && LVIS_SELECTED) == 0) && (lpNMLV->uNewState && LVIS_SELECTED))
SetSelectedSubItemIndex(FSelectedSubItemIndex);
}
}
TListView::WndProc(Message);
}
Удачи! Заранее спасибо! |
|
|