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

vcs

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

FAQ

10 komentarzy

Przenoszę do FAQ.

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

czy to czasem nie jest jakiś kurs? ADDDMIIIN!

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;

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

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 !!!!!!!!!!!!!!

Tego było mi trrzeba.

czyz to nie do gotowców?

stary... kiedys sie napewno przyda;)

kiedyś to potrzebowałem ojj dawno temu :D

Coś ucięło tytuł