Einzelnen Beitrag anzeigen

taaktaak

Registriert seit: 25. Okt 2007
Ort: Radbruch
1.990 Beiträge
 
Delphi 7 Professional
 
#1

FormKeyDown erkennt vk_Left... nicht

  Alt 28. Mai 2008, 17:06
Moin, Moin.

Das OnKeyDown-Event eines Forms erkennt die Pfeiltasten (vk_Left, vk_Right, vk_Up, vk_Down) nur, wenn sie gemeinsam mit Alt gedrückt werden. Werden die Tasten allein, oder zusammen mit Shift oder Ctrl betätigt, werden sie nicht erkannt. In einigen Beiträgen hier im Forum wird dieses Verhalten auch mehr oder weniger deutlich benannt. Eine Erklärung/Begründung, warum diese Tasten nur erkannt werden, wenn gleichzeitig Alt gedrückt wird, habe ich nicht gefunden.

Eine Möglichkeit, die Tasten trotzdem zu erkennen, ist GetAsyncKeyState() in einem Timer aufzurufen. Das funktioniert. Allerdings führt das in meinem Fall zu einer schlecht kontrollierbaren Verschiebung eines vergrößerten Bitmaps in einem Image (z.B. Nachlaufeffekt). Nutze ich OnKeyDown (und drücke zusätzlich die Alt-Taste) ist die Verschiebung kontrollierter (d.h. direkter) und wie erwartet zu steuern.

Fragen :
  • Warum werden die vorgenannten Tasten nur erkannt, wenn gleichzeitig Alt gedrückt wird?
  • Gibt es eine weitere Alternative zu GetAsyncKeyState und dem Timer?
Ralph
  Mit Zitat antworten Zitat