Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi JEDEN tastendruck registrieren (https://www.delphipraxis.net/75337-jeden-tastendruck-registrieren.html)

Timi-loader 17. Aug 2006 23:12


JEDEN tastendruck registrieren
 
hallo
unzwar wüsst ich gern wie ich JEDEN tastendruck speicher... bzw dessen nummer oder so in ein editfeld..

also keypreview hab ich true und bisher den code bei onkeypress so:
Delphi-Quellcode:
edit1.Text:=inttostr(ord(Key));
..nur die f-tasten gehen damit zum beispiel nicht und auch andere kombinationen wie strg-a o.ä.

..also ich will das ganze irgendwie als eine aktion aufnehmen.. damit ich es später wieder zurücksimulieren kann.

mfg
Timi-loader

jfheins 17. Aug 2006 23:14

Re: JEDEN tastendruck registrieren
 
Versuch mal OnKeyDown ;)

3_of_8 17. Aug 2006 23:31

Re: JEDEN tastendruck registrieren
 
...und da steht in Key ein Delphi-Referenz durchsuchenVirtueller Tastencode.

Timi-loader 17. Aug 2006 23:41

Re: JEDEN tastendruck registrieren
 
aha ok.. also onkeydown macht schonmal mehr...thx

aber.. dummerweise macht das nur die aktuelle tasten.. also keine kombinationen.. da müsst ich ja dann irgendwie mir jede gedrückte taste merken und guggen bei onkeyup ob die schon wieder oben ist...

oder gibts noch ne andere möglichkeit mit so strg-alt-buchstaben-kombinationen zu registrieren?

EDIT: .. achso.. und wieso gehen tab und druck nicht?

_frank_ 18. Aug 2006 00:10

Re: JEDEN tastendruck registrieren
 
wegen alt+strg...schau dir mal den Parameter shift an...

Delphi-Quellcode:
if (key=vk_return) and (shift = [ssCtrl,ssAlt]) then
  showmessage('blah');
HTH Frank

Timi-loader 18. Aug 2006 11:08

Re: JEDEN tastendruck registrieren
 
thx :)

.. also funktioniert soweit erstmal... nur tab und druck registriert er noch nicht.. hmz..
..und windowskombinationen gehen ja auch nicht (weil windows kein shiftparameter ist).. das müsst ich dann irgendwie kompliziert anders machen... hmz...

..und eigendlich passts hier nicht mehr rein, aber wie kann ich die globale auswertung der keys dann stoppen?.. also will das event am besten im nichts verschwinden lassen.. da es ja nur zum registrieren in meinem programm dient..

Jürgen Thomas 18. Aug 2006 12:18

Re: JEDEN tastendruck registrieren
 
Zitat:

Zitat von Timi-loader
aber wie kann ich die globale auswertung der keys dann stoppen?.. also will das event am besten im nichts verschwinden lassen.. da es ja nur zum registrieren in meinem programm dient..

Delphi-Quellcode:
Key := 0;
Dies sagt weiteren Ereignissen, dass "keine" Taste gedrückt wurde.
Jürgen

3_of_8 18. Aug 2006 13:05

Re: JEDEN tastendruck registrieren
 
Ich glaube nicht, dass das geht. Bei mir jedenfalls nicht. Funktioniert bei mir nur in OnKeyPress mit Key:=#0;

Timi-loader 18. Aug 2006 13:34

Re: JEDEN tastendruck registrieren
 
jo. das mit der 0 bringt nichts

3_of_8 18. Aug 2006 13:42

Re: JEDEN tastendruck registrieren
 
Dann nimm OnKeyPress. In OnKeyDown wird das nicht gehen.

Wenn du F-Tasten unterdrücken willst, könntest du es mit TAppEvents (oder TApplicationEvents, weiß nicht mehr wie die hießen) probieren, in OnMessage.

Wenn da ne WM_KEYDOWN reinkommt, dann überprüfst du, ob es die gesuchte Taste ist, und wenn ja machst du das, was du machen willst und setzt Handled auf True.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:14 Uhr.
Seite 1 von 2  1 2      

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