ich möchte versuchen die einen kreis in einem image mittels pfeiltasten zu steuern. da dies im formular geschehen soll hatte ich keypreview des formulars auf "true" gesetzt.
nur stand in der delphi hilfe unter keypreview: "Die Einstellung bezieht sich nicht auf Navigationstasten (TAB, Pfeiltasten usw.), da diese keine Tastaturereignisse auslösen. "
meine erste frage ist daher, wie man die pfeiltasten durch onkeydown erreichen kann.
als kompromiss habe ich mich dann eben für die tasten "pos1", "entf", "ende" und "bild runter" entschieden. aber auch hier funktioniert onkewdown nicht.
schritt für schritt durch drücken von F7 nachfollziehend, habe ich rausgefunden, dass die onkeydown-prozedur nicht einmal erreicht wird.
mein quelltext sieht ungefähr so aus:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| procedure TForm1.FormCreate(Sender: TObject); begin KeyPreview:=True; end;
procedure TForm1.FormKeydown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if key = vk_home then ellipse(x1,y1-1,x2,y2-1); if key = vk_end then ellipse(x1,y1+1,x2,y2+1); if key = vk_next then ellipse(x1+1,y1,x2+1,y2); if key = vk_delete then ellipse(x1-1,y1,x2-1,y2); end; |
ich denke aber, dass das problem eher an den eigenschaften der form liegt. anscheinend ist die form trotz keypreview nicht aktiviert. denn sobald ich bei programmstart ehemalig die pfeiltasten gedrückt hatte zeigte das programm nicht etwa einen fehler an, sondern wählte durch diese tasten ledigtlich andere buttons aus.
wie kann ich diesen fehler beheben?