OnKeyDown() STRG+P



  • Halo Zusammen,

    ich bekomme die Reaktion auf STRG+P nicht hin.
    Ich habe folgendes verucht:

    if(Key == VK_CONTROL && Key == 0x50)  // Strg + P  Tasten (funzt nicht)
    	DruckProtokoll();
    

    oder:

    if(Key == VK_CONTROL + 0x50)  // Strg + P  Tasten (funzt nicht)
    	DruckProtokoll();
    

    oder:

    if(Key == VK_CONTROL & 0x50)  // Strg + P  Tasten (funzt nicht)
    	DruckProtokoll();
    

    geht alles nicht.

    Kann mir jemand den Tip geben?



  • Hallo

    So kannst du nicht den Status der 3 Spezialtasten (ALT, SHIFT, CTRL) abfragen, *während* das Ereignis für eine Taste verarbeitet wird. Dazu must du das ShiftState abfragen, ähnlich wie hier.

    bis bald
    akari



  • Ich möchte die Reaktion nicht drei sondern zwei Tasten (STRG + P) abfangen.
    Es sind lediglich nur drei Versuche von mir gewesen!
    Muss man trotzdem mit shift was machen?



  • Hallo

    void __fastcall TForm1::FormKeyDown(TObject *Sender, WORD &Key,
          TShiftState Shift)
    {                 
      if (Key == 'P' && Shift.Contains(ssCtrl))
      {
        Application->MessageBox("P", "Test", ID_OK);
      }
    }
    

    bis bald
    akari



  • Danke,

    es funktioniert super! So habe es gaar nicht gesehen!
    Ich muss noch sehr viel lernen.


Anmelden zum Antworten