Delphi: Funktionstasten wie F1, F2, F3 und F4 funktionieren nicht im FormKeyDown Event
Frage von Gast | 16.04.2012 um 13:41
In dem FormKeyDown Event möchte ich auf die Funktionstasten (F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11 und F12) reagieren (HotKey) und eine entsprechende Aktion zuweisen. Dafür benutze ich folgenden Code:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if Key = VK_F1 then Funktion1(); if Key = VK_F2 then Funktion2(); if Key = VK_F3 then Funktion3(); //usw end;
Problem: Aus irgendeinem Grund funktioniert es nicht. Offenbar wird beim Drücken von F1 nicht einmal das FormKeyDown Event der Form aufgerufen. Was mache ich falsch?! Ich habe den Code so oft überprüft und mit allen anderen Virtual Keys wie VK_Space und so funktioniert es einwandfrei, nur mit den Funktionstasten nicht!
Ähnliche Themen
Delphi: RadioButton.Checked oder CheckBox.Checked ändern ohne OnClick-Event auszulosen
Tipp | 0 Kommentare
Delphi: Standard (OnClick) Event für eigene Komponente
Tipp | 0 Kommentare
Delphi/Lazarus: ModalResult ohne Button setzen
Frage | 1 Antwort
jQuery: Unterschied zwischen "return false" und "event.preventDefault()"
Info | 0 Kommentare
Lazarus: Auf Minimierung des Fensters reagieren
Frage | 1 Antwort
jQuery: Tasten auf Tastatur Aktion zuweisen (Keyboard Event)
Tipp | 0 Kommentare
jQuery: event.preventDefault() rückgängig machen
Frage | 2 Antworten
Wichtiger Hinweis
Bitte beachten Sie: Die Beiträge auf askingbox.de sind Beiträge von Nutzern und sollen keine professionelle Beratung ersetzen. Sie werden nicht von Unabhängigen geprüft und spiegeln nicht zwingend die Meinung von askingbox.de wieder. Mehr erfahren.
Jetzt mitmachen
Stellen Sie Ihre eigene Frage oder schreiben Sie Ihren eigenen Artikel auf askingbox.de. So gehts.
Dein Code kann genauso bleiben wie er ist, probiere einfach mal das Programm außerhalb der IDE zu starten. Wenn du das Programm innerhalb von Delphi startest, sind die Funktionstasten von Delphi belegt, um den Programmablauf zu steuern, deswegen kann man im Programm nicht über das OnKeyDown Event auf die Tasten zugreifen.
Wenn du das Programm aber eigenständig außerhalb von Delphi startest, sollte es gehen.
04.05.2012 um 16:46
Mit Delphi Sydney ist das keine Opiton: F1 wird auch „außerhalb“ ignoriert.
30.01.2021 um 19:46
Dann liegt es vermutlich an etwas anderem.
Hast du zum Beispiel vielleicht vergessen KeyPreview auf true zu stellen?
31.01.2021 um 20:12