Ich möchte die Tastaturereignisse (crossplattformmäßig) abfragen können, solange mein Formular aktiviert ist.
Meine bisherigen Versuche:
OnKeyDown/Up usw des Formulars: nimmt nur alphanumerische Tasten
OnKeyPress: wird nicht aufgerufen, wenn sich Buttons, Edits oder ähnliches auf dem Formular befinden (gerendert wird nur auf ein Panel)
Hooks: sind systemweit
Timer mit get(Async)KeyState: windows-spezifisch; wird nicht sofort nach Druck aufgerufen
Wie bekomme ich denn am schnellsten/sichersten/vollständigsten Bericht über die Tastenanschläge?
Ich bin für jede hilfe dankbar.
Registriert: Di Okt 03, 2006 14:07 Beiträge: 1277 Wohnort: Wien
Hallo Josua,
Zitat:
OnKeyDown/Up usw des Formulars: nimmt nur alphanumerische Tasten
Du arbeitest unter der Delphi-VCL, nehme ich an.
1) Geh in die Delphi-Hilfe und gib das Stichwort "Virtuelle Tastencodes" ein und sieh Dir an, was dort steht.
2) Stell in Deinem Formular im Objektinspektor die Eigenschaft "KeyPreview" auf True. Damit empfängt das TForm die Tastenanschläge für die Controls auf Deinem Formular ZUERST (soll heißen: bevor die Controls sie kriegen). Und zwar ALLE Tasten, auch die nicht alphanumerischen als "Virtuelle Tastencodes".
Das ist allerdings nicht plattformunabhängig, sondern bezogen auf Windows. Wie das in Linux (Kylix?) geht, kann ich Dir nicht sagen.
Traude
Registriert: Do Sep 25, 2003 15:56 Beiträge: 7810 Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Wenn du mit Delphi arbeitest solltest du mal SDL versuchen. Das ist Plattformunabhängig.
Freepascal geht auch. Wobei ich da nicht weiß wie das mit den Events gemacht wird (ob die unter Linux anders aussehen).
Alternativ nimmst du ne Sprache die Plattformunabhängig ist. (Java, .Net)
_________________ Blog: kevin-fleischer.de und fbaingermany.com
Mitglieder in diesem Forum: 0 Mitglieder und 10 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.