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?