SELCHANGED in CListCtrl

3 отговора 148 прегледа
#1

SELCHANGED in CListCtrl

Здравейте.
Искам нещо наглед много елементарно-да получавам нотификация когато се смени селекцията в лист контрола (CListCtrl). Оказа се обаче че май няма начин да се случи това. Някой да има идея какво да правя? (за сега сам направил да прихваща натискания на мишката и клавишите, ама е много дърводелско). И като съм почнал да питам, някой да знае как да накарм скролера на лист контролата автоматично да отива в края когато добавя нов елемент?

Отговор
в отговор на Pesho #2

Re: SELCHANGED in CListCtrl

като щракнеш с десен бутон върху лист контрола на диалога, от събитията които ти излизат на events никое ли не ти харесва? гледам че има HDN_ITEMCLICK,HDN_ITEMCHANGED...

Отговор
в отговор на Pesho #3

Re: SELCHANGED in CListCtrl

LVN_ITEMCHANGED е съобщението, че се е променило състоянието на item. Можеш да провериш uNewState на NMLISTVIEW.

EnsureVisible() е отговора на втория въпрос.

Отговор
в отговор на Pesho #4

За скролера

На всяка скрол контрола можеш да изпращаш
PostMessage(aHandle, WM_VSCROLL, SB_BOTTOM, 0);
PostMessage(aHandle, WM_VSCROLL, SB_ENDSCROLL, 0);

Независимо от езика на които програмираш :)
А може и другите SB_ХХХ да видиш :)

Отговор