Servus!
Also ich habe mal eben statt des Frosches ein Edit-Feld genommen. KeyPress funzt da wunderbar:
Delphi-Quellcode:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if (Key = 'd') then
begin
Self.Edit1.Left := Self.Edit1.Left + 10;
end;
if (Key = 'a') then
begin
Self.Edit1.Left := Self.Edit1.Left - 10;
end;
end;
Bist du sicher, dass ImFrosch.Left := ImFrosch.Left + 10; funktioniert?
Hast du das KeyPress nur im der Ereignisbehandlung fürs Form also im FormKeyPress drin oder auch in den anderen Komponenten (imFrosch z.B.)? Vielleicht helfen dir Hooks weiter... setz mal ein Beep oder ein ShowMessage in die FormKeyPress-Methode um zu sehen ob sie funzt.
Oha...Rote Box...
@Daniel B: KeyPreview scheint das Problem nicht wirklich zu löschen. Tuts bei mir zumindest nicht.
Gruß, Robert
Edit: Noch ne rote Box... stimmt du hast ja das Ereignis im Form behandelt. Ja, dann stimmt das mit KeyPreview. Viel Glück weiterhin.