![]() |
auf tastendruck reagieren
hilfe steh grad voll aufm schlauch.
Ich möchte nix anderes als das bei Tastendruck eine Message oder sonstwas kommt. Die 69 steht für das "e" auf der Tastatur.. Irgendwie is da der Wurm drin doch ich find den nicht. Bitte helft mir :S
Delphi-Quellcode:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState); begin if (key = 69) then showmessage('klappt! :D'); end; |
Re: auf tastendruck reagieren
Hi,
der Fehler muß wo anders liegen. Der Quelltext ist in Ordnung und funktioniert bei mir auch. Drückst du tatsächlich auf e, weil in showmessage heißt es :D |
Re: auf tastendruck reagieren
Hast du KeyPreview auf True gesetzt?
mfg Christian |
Re: auf tastendruck reagieren
Hi,
setze doch mal einen Breakpoint in die Procedur ob da überhaupt ein Event ausgelöst wird. Wenn du noch weitere WinControls auf der Form hast, können die auch das Event onKeyDown abfangen. Dein Code funktioniert bei mir ansonsten. |
Re: auf tastendruck reagieren
jo fehler gefunden... ich hab 49 statt 69 geschrieben... ich depp ;)
danke allen! :) |
Re: auf tastendruck reagieren
Nur mal ein kleiner Vorschlag von mir:
Für Tastaturabfragen bei Eingabe von Zeichen würde ich OnKeyPress verwenden. Hier hast Du dann das Zeichen als Char und kannst somit auch nicht ausversehen eine falsche Zahl eingeben :wink:
Delphi-Quellcode:
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin if Key = 'e' then ShowMessage('klappt! :D'); end; |
Re: auf tastendruck reagieren
Ich hab zum Thema Tastendruck eine weiterführende Frage:
Wie ist die Syntax bei mehreren Tasten zB Strg + Alt + f + l?? |
Re: auf tastendruck reagieren
Bei strg + Alt musst du einfach ShiftState auswerten. Willst du 2 "normale"(in deinem Fall f + l) Tasten haben, musst du die z.B. in ner private-Variablen zwischenspeichern...
mfg Christian |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:52 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz