Programowanie w języku Delphi » FAQ

Jak uzyskać efekt, aby po wciśnieciu jednej ze strzałek na klawiaturze wykonać akcję

  • 2007-11-15 18:12
  • 10 komentarzy
  • 959 odsłon
  • Oceń ten tekst jako pierwszy
Do tego będzie nam potrzebny przykładowy komponent np. Tshape

1) Wstawiamy komponent.

2) Klikamy w pustym miejscu formularza i z zakłądki Events wybieramy zdarzenie OnKeyDown. Wpisujemy poniższy kod:
if Key = VK_LEFT then Shape1.left := Shape1.left - 10;
if Key = VK_RIGHT then Shape1.left := Shape1.left + 10;
if Key = VK_UP then Shape1.top := Shape1.top - 10;
if Key = VK_DOWN then Shape1.top := Shape1.top + 10;

3) Uruchamiamy program.

Porady
W powyższym przykładzie poznałeś wirtualne kody klawiszy strzałek. Poniżej znajdziesz kody jeszcze kilku podstawowych klawiszy:
Kod klawisza:        Nazwa klawisza:
VK_RETURN        Enter
VK_SPACE        Spacja
VK_ESC        Esc
VK_SHIFT        Shift
VK_CONTROL        Ctrl
VK_MENU        Alt
VK_TAB        Tab
VK_BACK        Backspace
VK_INSERT        Insert
VK_HOME        Home
VK_PRIOR        Page Up
VK_DELETE        Delete
VK_END        End
VK_NEXT        Page Down
VK_0 ... VK_9        0 - 9
VK_NUMPAD0 ... VK_NUMPAD9        Numeryczne 0 - 9
VK_A ... VK_Z        Litery od A do Z
VK_F1 ... VK_F12        F1 - F12
VK_DIVIDE        Dzielenie
VK_MULTIPLY        Mnożenie
VK_SUBTRACT        Odejmowanie
VK_ADD        Dodawanie

10 komentarzy

Demonical Monk 2008-01-13 08:37

Przenoszę do FAQ.

// na przyszłość nie zaznaczaj 'Ustaw Przekierowanie' - Cold

Future Knight 2007-11-28 19:32

czy to czasem nie jest jakiś kurs? ADDDMIIIN!

sdaj 2006-08-19 14:43

Tak będzie prościej:

begin
     case key of
      vk_left: Dec(Shape1.Left, 10);
      vk_right: Inc(Shape1.Left, 10);
      vk_up: Dec(Shape1.Top, 10);
      vk_down: Inc(Shape1.Top, 10);
      vk_escape: Close;
     end;
end;

wlwojtas 2004-07-03 20:20

z tego, co zauważyłem, Delphi (przynajmniej moje) nie uznaje VK_ESC, zamiast tego trzeba użyć VK_ESCAPE, tak samo nie uznaje VK_(litera), ale nie sprawdzałem co zamiast tego
+ poza tym przykład wykorzystania można zobaczyć tu: http://wlw.prv.pl/inne/gra1.exe (myszka - lewo, prawo, spacja - start, esc - stop) - taki banał na zobrazowanie

RobinMaster 2003-06-24 23:47

sorry że tak to krytykuje ale jest to zerżniętę z jakiegoś kursu o programowaniu . Więc powiem ci jedno po co ???? Ktoś napisał już to w kursie a ty xerujesz . Nie ładnie nie ładnie . Łamiesz Prawa Autorskie jak wiesz co to jest !!!!!!!!!!!!!!

szatkus1 2003-04-24 21:32

Tego było mi trrzeba.

Ktos 2003-04-08 15:55

czyz to nie do gotowców?

Drajwer 2003-04-08 10:42

stary... kiedys sie napewno przyda;)

AMS 2003-04-08 01:16

kiedyś to potrzebowałem ojj dawno temu :D

SebaZ 2007-11-16 16:50

Coś ucięło tytuł