2009-03-19 3 views
0

Wie könnte ich verhindern, dass esc ein Dialogfeld schließt?VC++: Wie verhindert man, dass esc ein Dialogfeld schließt (nicht mfc)

Ich suchte nach diesem Thema, aber alles, was ich fand, war für MFC (Sie können PreTranslateMessage-Funktion in MFC überschreiben). aber mein Programm ist in Windows-API geschrieben, nicht MFC.

Ich habe versucht, alle Keyboard-Nachrichten in Dialog-Prozedur abzufangen, aber keiner von ihnen funktioniert. Ich habe auch versucht, Unterklassen im Dialogfeld zu verwenden, aber es hat auch nicht funktioniert.

Wie könnte ich das tun? Danke.

Antwort

0

Sie können feststellen, ob es aus dem Systemmenü leicht genug ist - überprüfen Sie den Abschnitt "Rückgabewert" von this MSDN page, um zu sehen, wie.

Wenn Sie nicht feststellen können, ob es sich um die ESCAPE-Taste oder eine Schaltfläche handelt, können Sie dies immer umgehen, indem Sie eine andere Kennung für die Schaltfläche Abbrechen verwenden.

9

Behandeln Sie WM_COMMAND und prüfen Sie auf IDCANCEL. Übergeben Sie das Steuerelement dann nicht an die Standardfensterprozedur.

Verwandte Themen