vieleicht kann mir einer Helfen. Bei mir werden die codes für die Pfeiltasten nicht angenommen. Wenn ich statt dessen W A S D nehme funktioniert es einwandfrei. (Habe es auch mit VK_up usw probiert. keypreview true und false habe ich auch durchgetestet. Fals jemand eine Idee hat wäre das sehr nett.
Flieger ist ein Image, dass einfach bewegt werden soll.
TForm1.FormKeyDown(Sender: TObject; var Key: word; Shift: TShiftState // Word =Zahl
);
begin
If Key = 072 then flieger.Top:= flieger.Top -10;
if Key = 080 then flieger.Top:= flieger.Top +10;
If Key = 077 then flieger.Left:= flieger.Left-10;
If Key = 075 then flieger.Left:= flieger.Left +10;
end;
procedure TForm1.FormKeyPress(Sender: TObject; var Key: char); //char = Zeichen
begin
If Key = vk_up then flieger.Top:= flieger.Top -5;
if Key = vk_down then flieger.Top:= flieger.Top +5;
If Key = vk_left then flieger.Left:= flieger.Left-5;
If Key = vk_right then flieger.Left:= flieger.Left +5;
end;
Zuletzt geändert von Lori am So 13. Okt 2013, 10:53, insgesamt 1-mal geändert.
Grund:Highlighter
Antistacmania hat geschrieben:Bekomme auch so eine nette Fehlermeldung
Error: Identifier not found "vk_up"
Als Tip: Bei so einer Fehlermeldung, kann man im Nachrichtenfenster auf die Fehlermeldung RechtsKlicken und auf "Suche Bezeichner" klicken. Dann wird in den Units von Lazarus/FPC nach diesem "Schlüsselwort" gesucht...
TForm1.FormKeyDown(Sender: TObject; var Key: word; Shift: TShiftState // Word =Zahl
);
begin
If Key = $72 then flieger.Top:= flieger.Top -10;
if Key = $80 then flieger.Top:= flieger.Top +10;
If Key = $77 then flieger.Left:= flieger.Left-10;
If Key = $75 then flieger.Left:= flieger.Left +10;
end;