Borland C++ OnKeyDown
Ostatnio zmodyfikowano 2015-03-23 14:34
Wronski Temat założony przez niniejszego użytkownika |
Borland C++ OnKeyDown » 2015-03-23 00:19:34 Witajcie, podczas programu potrzebuje reakcji programu na wcisniecie strzlki jak tu: void __fastcall TForm1::FormKeyDown( TObject * Sender, WORD & Key, TShiftState Shift ) { if( Key == VK_LEFT ) { timer_left->Enabled = true; } if( Key == VK_RIGHT ) { timer_right->Enabled = true; }
Tylko jak to zapisac, aby wcisniecie jednego klawisza uniemozliwialo wcisniecie drugiego |
|
akwes |
» 2015-03-23 07:23:39 Dodatkowa zmienna, w której zapamiętasz co było wciśnięte pierwsze? |
|
Wronski Temat założony przez niniejszego użytkownika |
» 2015-03-23 13:06:14 Nie do konca mnie tu ratuje, bo gdy dodam globalna zmienna, ew jakas funkcje bool czy_wcisnieta(), to przy wcisnieciu zmieniam jej wartosc na true, ale kiedy wcisne druga strzalke to faktycznie nie zadziala, ale kiedy ja puszcze (ta druga strzalke) to czy_wcisnieta() zmieni wartosc na false, wiec tak samo jak bylo:P(moze troszke lepiej :D) zeby to dzialalo poprawnie, musial bym zrobic boole/zmienne dla kazdego wcisnietego przycisku, ale przy tym warunki musial bym dosc poteznie rozbudowac, a zalezy mi na prostym rozwiazaniu. Musi takie istniec :) |
|
akwes |
» 2015-03-23 13:32:16 ale kiedy ja puszcze (ta druga strzalke) to czy_wcisnieta() zmieni wartosc na false
|
To pomyśl co można zrobić, żeby tak się nie stało. |
|
Wronski Temat założony przez niniejszego użytkownika |
» 2015-03-23 14:34:28 Moglbys pomoc? nie umiem do tego dojsc, jednak chwila odpoczynku pozwolila mi to rozwiazac w nastepujacy sposob: void __fastcall TForm1::FormKeyDown( TObject * Sender, WORD & Key, TShiftState Shift ) { if( Key == VK_LEFT ) { timer_left->Enabled = true; timer_right->Enabled = false; } if( Key == VK_RIGHT ) { timer_right->Enabled = true; timer_left->Enabled = false; }
A strasznie ciekawi mnie, jak mozna to zrobic z dodatkowa zmienna/funkcja ? |
|
« 1 » |