SELCHANGED in CListCtrl
3 отговора
148 прегледа
SELCHANGED in CListCtrl
Здравейте.
Искам нещо наглед много елементарно-да получавам нотификация когато се смени селекцията в лист контрола (CListCtrl). Оказа се обаче че май няма начин да се случи това. Някой да има идея какво да правя? (за сега сам направил да прихваща натискания на мишката и клавишите, ама е много дърводелско). И като съм почнал да питам, някой да знае как да накарм скролера на лист контролата автоматично да отива в края когато добавя нов елемент?
Искам нещо наглед много елементарно-да получавам нотификация когато се смени селекцията в лист контрола (CListCtrl). Оказа се обаче че май няма начин да се случи това. Някой да има идея какво да правя? (за сега сам направил да прихваща натискания на мишката и клавишите, ама е много дърводелско). И като съм почнал да питам, някой да знае как да накарм скролера на лист контролата автоматично да отива в края когато добавя нов елемент?
Re: SELCHANGED in CListCtrl
като щракнеш с десен бутон върху лист контрола на диалога, от събитията които ти излизат на events никое ли не ти харесва? гледам че има HDN_ITEMCLICK,HDN_ITEMCHANGED...
Re: SELCHANGED in CListCtrl
LVN_ITEMCHANGED е съобщението, че се е променило състоянието на item. Можеш да провериш uNewState на NMLISTVIEW.
EnsureVisible() е отговора на втория въпрос.
EnsureVisible() е отговора на втория въпрос.
За скролера
На всяка скрол контрола можеш да изпращаш
PostMessage(aHandle, WM_VSCROLL, SB_BOTTOM, 0);
PostMessage(aHandle, WM_VSCROLL, SB_ENDSCROLL, 0);
Независимо от езика на които програмираш :)
А може и другите SB_ХХХ да видиш :)
PostMessage(aHandle, WM_VSCROLL, SB_BOTTOM, 0);
PostMessage(aHandle, WM_VSCROLL, SB_ENDSCROLL, 0);
Независимо от езика на които програмираш :)
А може и другите SB_ХХХ да видиш :)