witam.
mam sobie oto taka kontrolke:
kiedy poruszam sie po lewym ListViewie prawy wczytuje sobie i wyswietla pozycje odpowiednie do pozycji, ktora jest wybrana w lewym.
Kiedy wybieram sobie pozycje mysza WM_NOTIFY dostaje komunikat o kliknieciu, pobieram numer pozycji i wysiwietlam zawartosc prawego LV. wszystko ladnie pieknie. Problem pojawia sie kiedy poruszam sie po LV za pomoca klawiatury. wtedy oczywiscie WM_NOTIFY dostaje komunikat LVN_KEYDOWN ale dostaje go zanim jeszcze zmieni sie zaznaczona pozycje, czyli sprawdzajac wtedy, ktora pozycja jest zaznaczona otrzymam numer tej starej, jeszcze z przed zmiany. mam nadzieje ze wiadomo do tego momentu o co chodzi. Teraz zeby odpowiednio zmienic zawartosc prawego LV musze sprawdzic jaki klawisz zostal nacisniety (gora czy dol) obliczyc czy jesli gora to nie jestem na szczycie listy i zaznaczenie w zwiazku z tym sie nie zmieni, jesli nie to obliczyc pozycje nowej zaznaczonej pozycji itd itd. w sumie da sie to wszystko zrobic, ale strasznie sie trzeba nagrzebac i wyglada na to, ze windows zamiast zwrocic mi pozycje, ktora jest aktualnie zaznaczona "kaze mi jej samemu szukac!!!" podajac mi komunikat o zmianie przed sama zmiana. wpadlem na pomysl, ze zrobie inaczej. kiedy dostane powiadomienie o nacisnieciu klawisza, zamiast zaraz sprawdzac, co to za klawisz itp wysle komunikta ( SendMessage() ) ktory ustawi sie w kolejce komunikatow i... mialem nadzieje, ze petla odbierze go juz po zmianie zaznaczonej pozycji przez windowsa. wtedy sprawdze sobie, ktora pozycja jest aktualnie zaznaczona i bede wiedzial co wyswietlic w prawym LV pozbywajac sie tego calego obliczania. okazuje sie jednak ze tak nie jest. komunikat zostaje odebrany i przerobiony przez petle komunikatow szybciej niz zmiana zaznaczonej pozycji przez winde w LV. naprawde prosciej byloby gdybym mogl posilic sie np. komunikatem jak dla listboxa - ktory mowi, ze zaznaczenie zmienilo sie. (zmienilo sie !!! czyli wystarczy sprawdzic na jakiej pozycji jest teraz i po krzyku).
czy ktos ma moze pomysl na jakies inne sprytne rozwiazanie mojego problemu???