Ich stehe vor einem Rätsel
FormKeyDown zweimal ausgelöst, wenn ich die Taste einmal drücke:
Delphi-Quellcode:
procedure TfrmMain.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
ShowMessage('OnKeyDown');
if (Key = VK_DELETE) and (Assigned(FotoBook.CurrentPage)) (* and (ssCtrl in Shift) *) then
begin
if IsSelectionObject then
begin
FotoBook.RemoveSelObjects;
end
else
FotoBook.RemoveLayer(FotoBook.CurrentPage.LayersCurrent);
end;
end;
Es ist mir ein Rätsel. Ich habe diese Ereignisbehandlungsroutine ganz normal im Objektinspektor erstell. Und es hat auch schon mal funktioniert, nur seit einem mir unbekannten Zweitpunkt wird sie eben zweimal ausgelöst. Welche Gründe könnte es dafür geben?
Mit
Key := 0;
am Ende der R, aber beim zweiten mal passiert nichts mehr. Ist das normal, dass man den tastencode auf 0 setzen muss? Das habe ich bisher nie so gemacht.