Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi auf tastendruck reagieren (https://www.delphipraxis.net/87192-auf-tastendruck-reagieren.html)

Jab 24. Feb 2007 19:20


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;

Berni68 24. Feb 2007 19:30

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

r2c2 24. Feb 2007 20:03

Re: auf tastendruck reagieren
 
Hast du KeyPreview auf True gesetzt?

mfg

Christian

bitsetter 24. Feb 2007 20:26

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.

Jab 24. Feb 2007 23:27

Re: auf tastendruck reagieren
 
jo fehler gefunden... ich hab 49 statt 69 geschrieben... ich depp ;)

danke allen! :)

Martin K 25. Feb 2007 02:08

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;

Bassel 25. Feb 2007 08:05

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??

r2c2 25. Feb 2007 08:59

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 16:15 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz