ESC-Taste abfangen



  • Hallo,

    also, mein Programm schließt sich wenn ich auf ESC drücke, was ich aber nicht will. Wie kann ich das abfangen und das schließen umgehen?

    Hab hier zwar was gefunden aber ich werde daraus nicht so richtig schlau
    http://www.c-plusplus.net/forum/viewtopic.php?t=39146

    Ein anderes Beispiel fand ich bei http://www.cpp-tutor.de/mfc/mfc/kap8/tut/tut1.htm

    Das sieht wie folgt aus:

    BOOL CDlgDrawDlg::PreTranslateMessage(MSG* pMsg) 
    {
        // TODO: Speziellen Code hier einfügen und/oder Basisklasse aufrufen
        // Falls Taste gedrueckt wurde
        if (pMsg->message == WM_KEYDOWN)
        {
            // Wenn ESCAPE, dann Nachricht verwerfen
            if (pMsg->wParam == VK_ESCAPE)
            // Nachricht verwerfen!
                return 1;
        }
        // Standard-Behandlung durchfuehren
        return CDialog::PreTranslateMessage(pMsg);
    }
    

    Wenn ich das mache geht garnix mehr 😕 ⚠

    Hab ich irgendetwas übersehen?

    MfG blub 😕



  • Du hast einen Dialog.

    Wenn du ESC drückst wird OnCancel aufgerufen, das schließt den Dialog. Enter auch, aber da wird OnOK aufgerufen. Überschreib die Funktion, ruf nicht die Basisklasse auf und fertig.



  • Schau ma hier:

    http://www.c-plusplus.net/forum/viewtopic.php?t=39095
    

Anmelden zum Antworten