VC ++: Как предотвратить закрытие диалогового окна esc (не mfc) - PullRequest
0 голосов
/ 19 марта 2009

Как я могу предотвратить закрытие диалогового окна esc?

Я искал эту тему, но все, что я нашел, было для MFC (в MFC можно перезаписать функцию PreTranslateMessage) но моя программа написана на Windows API, не MFC .

Я попытался перехватить все сообщения клавиатуры в процедуре диалога, но ни одно из них не работает. Я также пытался использовать подклассы в диалоговом окне, но это тоже не сработало.

Как я мог это сделать? Спасибо.

Ответы [ 2 ]

9 голосов
/ 19 марта 2009

Обрабатывать WM_COMMAND и проверять наличие IDCANCEL. Тогда не передавайте управление процедуре окна по умолчанию.

0 голосов
/ 20 марта 2009

Вы можете легко определить, находится ли оно из системного меню - посмотрите раздел «100» * этой страницы MSDN , чтобы узнать, как это сделать.

Если вы не можете определить, является ли это клавишей ESCAPE или кнопкой, вы всегда можете обойти это, используя другой идентификатор для кнопки Отмена.

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