![]() |
KeyUp KeyDown arbeitet falsch?
Hallo,
irgendwie habe ich ein komisches Phänomen: In einer Form mit KeyPreview = true möchte ich die Shifttaste abfangen und habe dafür im OnKeyDown und im OnKeyUp entsprechenden Code implementiert. Beim Drücken der Shifttaste wird OnKeyDown gefeuert (wie erwartet) aber dann nach kurzer Verzögerung kommen massig weitere OnKeyDown-Events! Beim KeyUp wird der Event dann nur einmal gefeuert! Es sieht fast so aus als ob die Shifttaste "repetierend" arbeitet wie die Buchstabentasten! Liegt das an meiner Tastatur und wenn nein, kann man das irgendwie umgehen? Ciao Stefan |
AW: KeyUp KeyDown arbeitet falsch?
Hoi,
das wird wohl mit jeder Taste das selbe Verhalten sein im KeyDown, ansonsten könntest du auch schlecht den Shiftstate abfragen. Das Gegenstück zu KeyUp ist halt KeyPress. Mutmaße ich jetzt einfach mal... |
AW: KeyUp KeyDown arbeitet falsch?
Nein, KeyPress hat keinen ShiftState-Parameter!
Ciao Stefan |
AW: KeyUp KeyDown arbeitet falsch?
Zitat:
Aber man kommt dennoch immer an den Status, der zur aktuellen Message gehört. ![]() |
AW: KeyUp KeyDown arbeitet falsch?
Ausgehend von der Prämisse, daß die Events korrekt arbeiten: Was ist Dein konkretes Problem? Was willst Du erreichen, das gegenwärtig nicht geht?
Sherlock |
AW: KeyUp KeyDown arbeitet falsch?
Das Verhalten ist korrekt. Denn ob Shift oder eine andere Taste, wenn diese festgehalten wird, folgen nach der eingestellten Verzögerung weitere Ticks im eingestellten Intervall. Diese lösen jeweils ein OnKeyDown aus. Losgelassen wird die Taste dann aber nur einmal.
Du kannst dir aber einfach merken, ob die Taste gerade gedrückt ist oder nicht, wenn du das brauchst, oder wie himitsu schon schrieb den Status direkt abfragen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:25 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-2025 by Thomas Breitkreuz