Как отключить выход приложения MFC при нажатии ESC или ALTF + F4? - PullRequest
3 голосов
/ 04 марта 2010

У меня есть приложение MFC, которое я не хочу закрывать во время работы. Я отключил значок «X» в правом верхнем углу, но теперь, если я нажимаю клавишу ESC или ALT + F4, он все равно закрывается.

Как я могу отключить это, чтобы оно не закрывалось, если кто-то нажимал эти клавиши? После завершения программы я хочу включить их.

Спасибо
Kampi

Ответы [ 2 ]

7 голосов
/ 04 марта 2010

Если вы обработаете сообщение WM_CLOSE и выбросите его. (т.е. не звоните DefWindowProc), тогда окно не закроется.

Вы также можете зарегистрировать класс окна в стиле CS_NOCLOSE, чтобы отключить все обычные способы закрытия окна.

3 голосов
/ 04 марта 2010

Не могу сказать для клавиши Esc, но что касается Alt + F4, он отправляет команду Close в главное окно. Вам нужно переопределить событие OnClose и оставить его пустым (не вызывать базовый метод). Это должно сработать.

P.S. Так как я не прикасался к MFC много лет, это не может быть на 100% правдой. Как я это помню.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...