Entwickler-Ecke

Multimedia / Grafik - Tasten hoch runter links rechts nutzen


MaximusMR - Fr 11.04.03 17:50
Titel: Tasten hoch runter links rechts nutzen
Also volgendes Problem. Ich will ein Bild mit den Tasten steuern. Hier der Quelltext


Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
case key of
 vk_up:  werner1.move(1);
 vk_down: werner1.move(2);
 vk_right: werner1.move(3);
 vk_left: werner1.move(4);
end;          
end;


Aber er ruft das werner1.move(x) nicht auf. Ich habe dort mal zum testen einen Button eine andere Caption gegeben. Das ging auch nicht!
Anscheined reagiert er nicht auf die Tasten. wo ist der fehler?

Moderiert von user profile iconAya: CodeTags hinzugefügt.


Aya - Fr 11.04.03 18:00

Hi,

hast du auf deinem Form noch andere Elemente wie Buttons, EditFelder etc...???

Das Form.OnKeyDown reagiert nämlich nur wenn das Form den Focus hat bei dem Tastendruck = Wenn ein Button den Focus hat, wird das OnKeyDown an den Button gesendet, nicht an's Form.

2 Lösungen hast du:

1.) Jedem Element das OnKeyDown Event vom Form zuweisen
2.) Beim Form "KeyPreview" auf True stellen, dann ebkommt das Form alle Tastendrücke mit ;)

Au'revoir,
Aya~


MaximusMR - Fr 11.04.03 18:09

Oh danke für die schnelle hilfe... Es war ein Button drin.

Aber als ich das KeyPreview:=true reingemacht hab, hats immernochnich gefuntzt... musste die Buttons löschen. Aber reicht schon so denk ich ;)