Ĺadny brzuch
Witam.
Mam następujący problem: tworzę modalne okno dialogowe (za pomocą DialogBox() ), w którym chciałbym wybierać strzałkami dostępne opcje (które następnie są wyświetlane podczas rysowania tła okienka).
Jednak ku mojemu zdziwieniu modalne okno dialogowe otrzymuje komunikaty WM_KEYDOWN od wszystkich klawiszy za wyjątkiem strzałek :/
Jest to najprawdopodobniej spowodowane tym, że strzałki są przyciskami powodującymi przejście (przekazanie ogniska) do kolejnych kontrolek okna modalnego i najprawdopodobniej ich komunikaty obsługuje Windows, zatem nie dochodzą do okna (tak przypuszczam). Dodam tylko, że ja żadnych kontrolek w tym oknie nie mam.
Co prawda mógłbym obsługiwać WM_KEYUP, ale uparłem się na WM_KEYDOWN (znacznie lepsze sterownie). Czy da się to jakoś rozwiązać?
Get(Async)KeyState() -> Search MSDN lib...
Get(Async)KeyState() -> Search MSDN lib...
Tak, tylko wolałbym się nie bawić w żadne timery, a wykorzystanie tego typu funkcji tego by wymagało :/
Eeee, jakie taimer'y? Nie możesz tego wrzucić do głównej pętli i sprawdzać podczas pojawienia się okienka? No chyba, że nie rozmawiamy o WinApi :>
Real_noname chodzi o to żebyś to głównej pętli wiadomości dodał np. funkcję checkKeys(); w której byś sprawdzal czy nie został naciśnięty klawisz funkcją którą też ci napisał Polecam WARP.
Real_noname chodzi o to żebyś to głównej pętli wiadomości dodał np. funkcję checkKeys(); w której byś sprawdzal czy nie został naciśnięty klawisz funkcją którą też ci napisał Polecam WARP.
Aha, więc tak wygląda sytuacja. Nie kryje zdziwienia, że pompa nie wychwytuje wciśnięcia strzełek - tego nie moge rozkmicić, bo u mnie działa :P. Zostaje rowiązanie albo przez WM_KEYUP ( o którym mówiłeś ), albo sprawdzać stan tego kalwisza w pętelce w odzielnym wątku (ale to już przegięcie :P).
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
Mam następujący problem: tworzę modalne okno dialogowe (za pomocą DialogBox() ), w którym chciałbym wybierać strzałkami dostępne opcje (które następnie są wyświetlane podczas rysowania tła okienka).
Jednak ku mojemu zdziwieniu modalne okno dialogowe otrzymuje komunikaty WM_KEYDOWN od wszystkich klawiszy za wyjątkiem strzałek :/
Jest to najprawdopodobniej spowodowane tym, że strzałki są przyciskami powodującymi przejście (przekazanie ogniska) do kolejnych kontrolek okna modalnego i najprawdopodobniej ich komunikaty obsługuje Windows, zatem nie dochodzą do okna (tak przypuszczam). Dodam tylko, że ja żadnych kontrolek w tym oknie nie mam.
Co prawda mógłbym obsługiwać WM_KEYUP, ale uparłem się na WM_KEYDOWN (znacznie lepsze sterownie). Czy da się to jakoś rozwiązać?
Get(Async)KeyState() -> Search MSDN lib...
Get(Async)KeyState() -> Search MSDN lib...
Tak, tylko wolałbym się nie bawić w żadne timery, a wykorzystanie tego typu funkcji tego by wymagało :/
Eeee, jakie taimer'y? Nie możesz tego wrzucić do głównej pętli i sprawdzać podczas pojawienia się okienka? No chyba, że nie rozmawiamy o WinApi :>
Real_noname chodzi o to żebyś to głównej pętli wiadomości dodał np. funkcję checkKeys(); w której byś sprawdzal czy nie został naciśnięty klawisz funkcją którą też ci napisał Polecam WARP.
Real_noname chodzi o to żebyś to głównej pętli wiadomości dodał np. funkcję checkKeys(); w której byś sprawdzal czy nie został naciśnięty klawisz funkcją którą też ci napisał Polecam WARP.
Aha, więc tak wygląda sytuacja. Nie kryje zdziwienia, że pompa nie wychwytuje wciśnięcia strzełek - tego nie moge rozkmicić, bo u mnie działa :P. Zostaje rowiązanie albo przez WM_KEYUP ( o którym mówiłeś ), albo sprawdzać stan tego kalwisza w pętelce w odzielnym wątku (ale to już przegięcie :P).