Objekt mit Pfeiltasten bewegen

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut
Antworten
Kosmo
Beiträge: 15
Registriert: Di 23. Nov 2010, 18:06

Objekt mit Pfeiltasten bewegen

Beitrag von Kosmo »

Servus,

also ich habe mal ne Frage zur FormKeyDown und zwar lässt sich mein Programm kompilieren, jedoch lässt sich keine Bewegung erkennen.

Hier mal der Quelltext:

Code: Alles auswählen

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
  case key of
    VK_RIGHT: Auto.Left:=auto.Left+1;
    VK_LEFT :Auto.Left:=auto.Left-1;
  end;
end;
Muss ich die Prozedure jetzt aufrufen oder passiert das automatisch, sobald eine Taste gedrückt wird?
Und wenn ich die Pfeiltaste nach rechts/links drücke, wird zwischen den EditFeldern hin und herbewegt.
KEyPreview habe ich auf true und ich habe auch schon über SuFu alles durchsucht, allerdings nichts gefunden, was mit weiterhelfen konnte.


Ich hoffe ihr könnt mir den Fehler nennen.

Gruß Kosmo
Zuletzt geändert von Lori am So 30. Okt 2011, 19:51, insgesamt 1-mal geändert.
Grund: richtiger Highlighter

Benutzeravatar
theo
Beiträge: 10865
Registriert: Mo 11. Sep 2006, 19:01

Re: Objekt mit Pfeiltasten bewegen

Beitrag von theo »

Müsste klappen.
Wenn du den Key nicht weiterverwenden willst, dann mach am Ende der Prozedur
Key:=0;
Aus einem Grund ist "Key" ja als "var" deklariert. ;-)

Kosmo
Beiträge: 15
Registriert: Di 23. Nov 2010, 18:06

Re: Objekt mit Pfeiltasten bewegen

Beitrag von Kosmo »

es passiert aber leider nichts, und durch das drücken der Pfeiltasten wechsel ich lediglich nur zwischen den einzelnen BUttons/Editfeldern her, aber das Image wird nicht bewegt...

Eclipticon
Beiträge: 292
Registriert: Sa 5. Feb 2011, 20:38
OS, Lazarus, FPC: Windows XP VirtualBox (FPC 2.6.4, Laz 1.2.4)
CPU-Target: 32Bit
Wohnort: Wien

Re: Objekt mit Pfeiltasten bewegen

Beitrag von Eclipticon »

Wie sieht's mit TForm.KeyPreview (oder so aehnlich) aus? Das muss richtig gesetzt sein ...

MAC
Beiträge: 770
Registriert: Sa 21. Feb 2009, 13:46
OS, Lazarus, FPC: Windows 7 (L 1.3 Built 43666 FPC 2.6.2)
CPU-Target: 32Bit

Re: Objekt mit Pfeiltasten bewegen

Beitrag von MAC »

steht doch im text das keypreview auf true ist :)

1.Also klick die Form an
geh im Objektinspektor auf Ereignisse
und vergewisser dich das da bei OnKeyDown deine Procedure steht also die Combobox ned leer ist...
andernfals wär die Procedure zwar richtig würde aber einfach nicht gestartet...

2. Setz ein Breakpoint in die Procedure und schau ob die gestartet wird...

Code: Alles auswählen

Signatur := nil;

Benutzeravatar
theo
Beiträge: 10865
Registriert: Mo 11. Sep 2006, 19:01

Re: Objekt mit Pfeiltasten bewegen

Beitrag von theo »

Kosmo hat geschrieben:es passiert aber leider nichts, und durch das drücken der Pfeiltasten wechsel ich lediglich nur zwischen den einzelnen BUttons/Editfeldern her, aber das Image wird nicht bewegt...
Bei mir geht's. Aber so kann man nicht viel sagen, da müsstest du schon mal das Projekt hochladen.

Kosmo
Beiträge: 15
Registriert: Di 23. Nov 2010, 18:06

Re: Objekt mit Pfeiltasten bewegen

Beitrag von Kosmo »

Vielen Dank Theo :) :) :)

Es ging jetzt nachdem ich bei Ereignisse das eingefügt habe.

Also nochmals vielen DANK :)

camper3000
Beiträge: 31
Registriert: Fr 8. Jan 2010, 16:29

Re: Objekt mit Pfeiltasten bewegen

Beitrag von camper3000 »

vielleicht noch was hinterher:
Wenn man einen Button ausgewählt hat und eine Taste drückt, dann ist das das keyDown Ereigniss des Buttons und nicht von Form1.
Zumindest ist das bei meinen bisherigen Programmen immer so gewesen.

mfg camper3000
Auch wenn man einen Hammer hat, ist nicht jedes Problem ein Nagel.

Antworten