Dialog bei Enter nicht schliessen
-
Wie verhindere ich dass sich ein Dialog bei Enter schliesst?
-
-
Leg dir ein Funktion zu, für das Klickereigniss auf den Schließen Button i.d.r. OnOk.
wenn der den Eingabefocus von der Tastatur hat, reagiert der auf die Entertaste
diese Tastaturnachricht(VK_RETURN) must du abfangen.
in der Funktion des Schleißen Buttons mit GetAsyncKeyState
void CTestDlg::OnOk() { if(!GetAsyncKeyState(VK_RETURN)) CDialog::OnOK(); }
-
void CDeinDlg::OnClose() { CDialog::OnOk(); } void CDeinDlg::OnOK() { } // um Schließen durch ESC zu verhindern - auch noch: void CDeinDlg::OnCancel() { }Key abfangen ist überflüssig!
-
Siehe auch:
http://blog.m-ri.de/index.php/2008/09/21/die-return-taste-in-dialogen-eine-unendliche-geschichte/