Tasten Abfangen
-
Ich benutze das OnKeyDown Eregnis meines Formes, das funktioniert aber nur so lange bis ich eine Komponete z.B ein Edit oder einen Button auf das Form platziere. Wie funktioniert es das ich trotzdem meine Tasteneingabe abfange?
Schon mal Vielen Dank im Vorraus!
-
Wirf mal einen Blick auf die Eigenschaft TForm::KeyPreview.
-
Und wenn man jetzt noch Pfeiltasten verwenden möchte?
-
Benutze ein TApplicationEvents (aus dem Bereich Zusätzlich)
dann kannst du die einzelnen Application-Messages im OnMessage auswerten .//--------------------------------------------------------------------------- void __fastcall TFormMain::ApplicationEvents1Message(tagMSG &Msg, bool &Handled) { if (Msg.message==WM_KEYDOWN) { if (Msg.wParam == VK_UP) { //Pfeil nach oben gedrückt if ((GetKeyState(VK_CONTROL) & 0x8000)) { //Pfeil nach unten gedrückt mit der STRG Taste } if ((GetKeyState(VK_SHIFT) & 0x8000)) { //Pfeil nach unten gedrückt mit der Shift Taste } } if (Msg.wParam == VK_DOWN) { //Pfeil nach unten gedrückt } if (Msg.wParam == VK_LEFT) { //Pfeil nach links gedrückt } if (Msg.wParam == VK_RIGHT) { //Pfeil nach rechts gedrückt } } } //---------------------------------------------------------------------------
-
VergissEs schrieb:
Benutze ein TApplicationEvents (aus dem Bereich Zusätzlich)
dann kannst du die einzelnen Application-Messages im OnMessage auswerten .[cpp]
//---------------------------------------------------------------------------
void __fastcall TFormMain::ApplicationEvents1Message(tagMSG &Msg,
bool &Handled)
{
if (Msg.message==WM_KEYDOWN) {if (Msg.wParam == VK_UP) {
//Pfeil nach oben gedrücktif ((GetKeyState(VK_CONTROL) & 0x8000)) {
//Pfeil nach unten gedrückt mit der STRG Taste
}
if ((GetKeyState(VK_SHIFT) & 0x8000)) {
//Pfeil nach unten gedrückt mit der Shift Taste
}}
if (Msg.wParam == VK_DOWN) {
//Pfeil nach unten gedrückt
}
if (Msg.wParam == VK_LEFT) {
//Pfeil nach links gedrückt
}
if (Msg.wParam == VK_RIGHT) {
//Pfeil nach rechts gedrückt
}
}
}
//---------------------------------------------------------------------------[/cpp]Die Kommentierung sollte noch überarbeitet werden.

E: Kann man im cpp-Tag nicht Fett und unterstrichen schreiben?

-
Sehr Sehr vielen Dank für den hinweis