Entwickler-Ecke

Sonstiges (Delphi) - Pfeiltasten


freak89 - So 06.03.05 22:35
Titel: Pfeiltasten
Auf Tasten die mit Buchstaben belegt sind kann ich ja einfach mit:

Delphi-Quelltext
1:
2:
3:
4:
5:
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
if (Key = 'a' ) and (form1.color = clBtnface)
 then form1.Color := clwhite;
end;

zugreifen. Aber wie kann ich z.b. dieses Ereignis auf eine der Pfeiltasten legen?


retnyg - So 06.03.05 22:38

VK_LEFT, VK_RIGHT, VK_UP, VK_DOWN


retnyg - So 06.03.05 22:45

beim keypress also if key = chr(vk_left) then


freak89 - So 06.03.05 23:01

hmm so ging es bei mir nciht, du hast mich aber trotzdem auf die richtige lösung gebracht:

Delphi-Quelltext
1:
2:
3:
4:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if chr(Key) = chr(vk_left)


retnyg - So 06.03.05 23:20

beim keydown kannst du auf die chr-konvertierung verzichten ^^
if key = vk_left then


Karlson - So 06.03.05 23:21

Du verwendest ja auch das onkeydown, retnyg schrieb doch das sein code fürs onkeypress geeignet ist, wo ein char verlangt wird.
Im Onkeydown ein Wert vom Typ Word, also kannst du den Cast in Char auch weglassen.
Auch wenns nicht so aussieht, aber vk_left ist schon ein Word, vk_left is irgendein konstanter Wert.