F Tasten abfangen...



  • BOOL KS_Kundendaten::PreTranslateMessage(MSG* pMsg) 
    {
         if(pMsg->wParam==VK_F3)
    	KS_Kundendaten::OnKSKDWaehlen();
    ...
         return CDialog::PreTranslateMessage(pMsg);
    }
    

    Das ist ein Beispiel wie ich die F3 Taste abfange und damit eine Funktion aufrufe...
    Das Problem ist dass wenn ich die R "nur die R" Taste drücke, genau das selbe passiert... Was ist hier falsch???

    MfG
    Samuel



  • Also ich würd das eh anders machen: Mach doch einfach mim accelerator ne IDauf die taste un dann mim klassenassisstent ne funktion auf die ID. Das klappt immer... zumindest immer öfter 😉

    MFG

    Hansi



  • Mit dem Accelerator hatte ich schon mal Probleme aber ich werde es nochmal versuchen und sage dann bescheid wenn es nicht klappt...

    Danke schon mal...



  • Es funktioniert leider nicht... Außerdem werden Funktionen von mir durchgeführt wenn ich ein F Taste drücke und die Accelerators lassen mich nur auf Klassen zeigen... z.B habe ich ein CDateTimeCtrl wo ich ein bestimmtes Datum anzeigen möchte wenn man die Taste Entf drückt... Das schaffe ich irgendwie nicht mit Accelerators...

    Trotzdem danke...
    Hat vielleicht noch sonst jemand eine Idee?



  • Wieso geht das denn nur nicht? Hats du auch wirklich ne ID gemacht un dann auch auf die richtige ID für COMMAND ne funktion gemacht? Weil sonst weiß ich auch nicks... Bin auch noch ziemlich am anfang...

    MFG

    Hansi



  • probiers mal damit:

    {
    UINT msg = pMsg->message;
    if (msg==WM_KEYDOWN)
    {
    TCHAR vkey = pMsg->wParam;
    switch (vkey)
    {
    case VK_F3:
    KS_Kundendaten::OnKSKDWaehlen();
    break;

    case VK_F7:
    break;
    }
    }
    return CDialog::PreTranslateMessage(pMsg);
    }


Log in to reply