Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi KeyDown wird immer wieder gesendet? (https://www.delphipraxis.net/123462-keydown-wird-immer-wieder-gesendet.html)

Coder1990 2. Nov 2008 14:38


KeyDown wird immer wieder gesendet?
 
Seas,

ich habe mir ein Memo genommen und wollte in diesem Tasten die gedrückt worden sind speichern:

z.b. Taste "Alt"
On Key Down -> AddLine(D-Alt) {D wie Down}
On Key Up -> AddLine(U-Alt) {U wie Up}
-> Wenn in der Zeile oben drüber D-Alt steht wird die Zeile U-Alt gelöscht und aus D-Alt wird P-Alt (P wie Press)

Aus diesem Gewurstel soll dann später ein Script entstehen.
Sowas ungefähr:
"D-Alt"
"D-Strg"
"P-q"
"U-Alt"
"U-Strg"
Beim Laufenlassen entsteht dann natürlich "@" (Alt Gr ist ja nur Alt + Strg)

Nun zu meiner eigentlichen Frage:
Wenn man Alt gedrückt hält wird immer wieder OnKeyDown ausgelöst.
Warum, die Taste wurde doch nur einmal gedrückt bzw "Down gemacht"?
Wie kann ich das umgehen?


MfG

Luckie 2. Nov 2008 14:51

Re: KeyDown wird immer wieder gesendet?
 
Zitat:

Zitat von Coder1990
Wenn man Alt gedrückt hält wird immer wieder OnKeyDown ausgelöst.
Warum, die Taste wurde doch nur einmal gedrückt bzw "Down gemacht"?

Dann halt doch mal eine Zeichentaste gedrückt in einem ditor und guck was passiert. :?

Zitat:

Wie kann ich das umgehen?
Setze einen Flag nah dem du den Tastendruck das erstemal empfangen hast.

Coder1990 2. Nov 2008 15:28

Re: KeyDown wird immer wieder gesendet?
 
ahja klar wird die Taste immerwieder gesendet, aber ich hab mir das so gedacht:
KeyDown -> "a" wird sofort gesendet
-> verzögert setzt ein Timer ein der immer wieder "a" sendet bis KeyUp kommt

Naja bleibt mir scheinbar nur der Flag übrig..

//achja so nebenbei wie kann ich das Wirken von z.b. Pfeiltaste Hoch unterbinden, sodass ich nur den Key abfange?

MfG


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:54 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