Witam,
W kontrolce widoku drzewa (TreeView) mam kilka elementów i teraz chciałbym sprawdzić, który z nich został kliknięty i wyświetlić o tym odpowiedni komunikat.
Proszę o pomoc
Witam,
W kontrolce widoku drzewa (TreeView) mam kilka elementów i teraz chciałbym sprawdzić, który z nich został kliknięty i wyświetlić o tym odpowiedni komunikat.
Proszę o pomoc
Chodzi Ci o to, że chcesz wiedzieć, która gałąź została rozwinięta? Jeśli tak to sprawdzasz sobie stan tego elementu pod kątem TVIS_EXPANDED. A jak chcesz na bieżąco, to jest jakiś message do tego, ale nie pamiętam jaki.
ale nie pamiętam jaki
TVN_ITEMEXPANDED.
Ale tu chodzi o TVN_SELCHANGED, wysyłane w formie zgodnej z WM_NOTIFY. lParam wskazuje na strukturę NMTREEVIEW, gdzie .itemNew.hItem jest uchwytem zaznaczonego/aktualnego itema; pod warunkiem że .itemNew.mask wskazuje na zmianę zaznaczenia: ma ustawione flagi TVIF_HANDLE|TVIF_STATE, a .itemNew.stateMask zwiera flagę TVIS_SELECTED.
który z nich został kliknięty
Kliknięcia wykrywasz w WM_NOTIFY reagując na NM_CLICK. Dla tree view, lParam wskazuje na nic więcej, jak NMHDR, co zmusza do wysłania komunikatu TVM_GETNEXTITEM z wParam=TVGN_CARET, lParam=0