Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Borland C++ OnKeyDown

Ostatnio zmodyfikowano 2015-03-23 14:34
Autor Wiadomość
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:
C/C++
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
P-128990
akwes
» 2015-03-23 07:23:39
Dodatkowa zmienna, w której zapamiętasz co było wciśnięte pierwsze?
P-128992
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  :)
P-128995
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.
P-128996
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:
C/C++
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 ?
P-128998
« 1 »
  Strona 1 z 1