przyciski nie działające po kliknięciu TButtona

0

Witam
Mam kolejny problem :-8 Chciałem, aby w moim symulatorze po wciśnięciu np. strzałki w prawo samochodzik skręcał w prawo. Wszystko jest OK, dopóki nie kliknę myszką np. na TButton, albo wybiorę jakiś element z GroupBox'a. Potem już nie można używać przycisków. Co zrobić, żeby można ich było używać cały czas, nawet jak się kliknie na TButton itp. Z góry dzięki i pozdrówka

0

Dodam tylko, że obsługuję przyciski w OnKeyDown formy.

0

KeyPreview formy na True i obsłuż OnKeyDown tej formy.

Edytuj posty!

0

Ale to jakoś "dziko" działa :-/ Obsłużylem sobie tylko kilka przycisków. Jak np nacisnę strzałkę w lewo, to mi nie tylko samochodzik skręci, ale jeszcze dodatkowo przerzuci mi się na następny item w groupbox'ie. A poza tym jak mam jakiś element zaznaczony w groupbox'ie i nacisnę inny przycisk (jakiś, którego nie oprogramowałem) , to jest akcja taka, jak bym nacisnął przycisk, który znajduje sie na formie :-/ Da się coś z tym zrobić? Sorka za tego posta wyżej, zapomniałem o odytowaniu :-8

0

Wszystko zależy od tego na jakim komponencie ustawisz zdarzenie ONKeyDown/Press.

Nie wiem jak wyglada ten program, ale przypuszczam, ze ustawiles zdarzenie OnKeyPress dla Formy, na której porusza się samochód. Może wrzuc panel, na panel samochód :) i OnKeyDown dla panela

ale... :-/

0

Bo jeśli obsłużysz OnKeyDown (z KeyPreview=True) formy to będzie reagować na klawisze bez względu na to na jakim komponencie jest focus. Focus możesz sprwdzać. Np. jeśli chcesz, żeby robił coś tylko wtedy gdy focus będzie na Buttonie:

if Button.Focused then //coś tam
0

sprobuj na timerze

0

Oki, rozwiązałem problem. Miałem jeden błąd w kodzie, a poza tym podczepię skręty i inne polecenia pod inne przyciski i będzie spoks. Wielkie dzięki. Pozdrówka

P.S. Panele nie mają zdarzenia OnKeyDown, OnKeyPress i OnKeyUp...

1 użytkowników online, w tym zalogowanych: 0, gości: 1