FormKeyDown mit Pfeiltasten
-
Hallo..... hört mich noch jemand ???????????
Kann mir irgendjemand Antworten ?????????? bitte !!!!!!!!!!!!
-
Hallo,
So...
Du kannst Probleme haben... 
Jetzt hab' ich erstmal Dein Problem erkannt...Also : Um ein Wechseln des Fokus zu verhindern, kannst Du zur Not jedes Element auf ein Panel legen (dann kann der Fokus nicht weiterspringen, jedenfalls nicht mit den Pfeiltasten). Oder Du nimmst "TSpeedButton", der kann keinen Fokus annehmen.
Zum Problem, daß kein Ereignis ausgelöst wird, bei "OnKeyDown"... da wird's glaube ich keine einfache Lösung geben, da die Pfeil-Tasten genau dafür gedacht sind. "OnKeyUp" funktioniert (siehe Code unten), nur "OnKeyDown" nicht (warum das so ist... frag mich nicht, das ist mir zu aufregend um mich weiter damit zu beschäftigen
).
Nimm einfach andere Tasten... :pvoid __fastcall TForm1::FormKeyDown(TObject *Sender, WORD &Key, TShiftState Shift) { if (Key == VK_UP) { Label1->Caption="Hallo KeyDown VK_UP"; Beep(1000, 50); } // if (Key == VK_UP) } //--------------------------------------------------------------------------- void __fastcall TForm1::FormKeyUp(TObject *Sender, WORD &Key, TShiftState Shift) { if (Key == VK_UP) { Label1->Caption="Hallo KeyUp VK_UP"; Beep(4000, 50); } // if (Key == VK_UP) } //---------------------------------------------------------------------------Bis dann denn,

Nash
-

Dankeee !!!!!
Is ja easy ........
es scheint zu gehen !!!!!!!!!!!!!!!
Danke !!!
Grüsse
-
Ach ja und das mit dem KeyDown hab ich auch im Griff.
Nicht das Ereigniss onKeyDown benutzten sondern mit
Application->OnMassage=MeinHandlerdie Nachricht auf meine Methode leiten und dort mit If-Überprüfungen feststellen ob es eine der Taste ist die ich brauche.
OnKeyUp verwende ich wie bisher....
Servus....
-
Setz die Eigenschaft "Keypreview" des Hauptformulars auf true, damit werden alle Keyereignisse zuerst zum Hauptformular geleitet, bevor sie an die entsprechende Komponente weitergereicht wird.
So einfach ist das
-
Hallo,
...So einfach ist das
Naja...
ich würde sagen, probiers einfach mal aus, und dann würdest Du sehen, so einfach ist das nicht.Bis dann denn,

Nash