ereignishandler soll auf eingabetaste reagieren



  • hallo zusammen,

    ich habe ein kleines problemchen:
    ich habe in einem dialogfeld ein eingabefeld, in das eine benutzerkennung eingegeben wird. anschließend klicke ich auf eine schaltfläche, die dann eine methode ausführt.
    nun möchte ich mir die mausbewegung zu der schaltfläche sparen, die selbe methode wie nach schaltflächenklick soll beim betätigen der return-taste erfolgen, wenn der cursor noch in dem eingabefeld steht!

    wo und wie soll ich da das ereignis "return-taste gedrückt" behandeln?

    wäre schön, wenn ihr da was wüßtet!
    mfg, pir187



  • Hi!
    Du sollst die Funktion DeinDialog::OnOK() überschreiben



  • Hi,

    oder du fügst Dir die Funktion WM_KEYUP per ClassWizard hinzu und wertest dann den Tastendruck aus und rufst die Schaltflächenfunkion auf.



  • Man könnte auch die Funktion PreTranslateMessage abfangen.

    Also z.B. so:

    if (pMsg->message==WM_KEYDOWN && pMsg->wParam==VK_RETURN)
    {
            // Wenn Programm Ende focussiert Fkt OnProgrammEnde aufrufen
            CWnd* pWnd = GetFocus ();
            if (pWnd->GetDlgCtrlID () == IDC_Edit)
            {
                // Was bei Enter ausgeführt werden soll
            }
    }
    

    Hat allerdings den Nachteil, das Du hier auch die Enterbestätigung für andere Button anfangen muß.

    Cu
    Oli



  • Oder in den Eigenschaften des Buttons unter Format das Häkchen vor Standardschaltfläche aktivieren.


Anmelden zum Antworten