У меня есть диалоговое приложение MFC, которое я хочу закрыть или завершить только с помощью кнопки X (закрыть), указанной в строке заголовка, и отключении других ярлыки для этого.
например: нажатие клавиши Esc. Может кто-нибудь помочь?закрытие приложения MFC только с помощью кнопки [X] в строке заголовка и отключении ярлыка esc
ответ
Переопределите функцию PreTranslateMessage и поймайте использование VK_ESCAPE для захвата клавиши Esc. Аналогично, как вы можете поймать другие сообщения и перепускного закрытие диалогового
BOOL CMyDialog::PreTranslateMessage(MSG* pMsg)
{
if (pMsg->message == WM_KEYDOWN)
{
if ((pMsg->wParam == VK_RETURN) || (pMsg->wParam == VK_ESCAPE))
return TRUE;
}
return CDialog::PreTranslateMessage(pMsg);
}
Копирование [плохого ответа] (http://stackoverflow.com/a/17829314/1889329), без атрибуции, называется * «плагиат» *. -1, даже не рассматривая надлежащий способ MFC. – IInspectable
Пожалуйста, дайте мне знать, что я здесь делаю, а не MFC, поскольку я использовал это в своем предыдущем проекте и скопировал то же самое. Дайте мне знать, что такое MFC, так что я могу сделать это правильно и в моем проекте. Очень спасибо за ваш ответ. – CKT
http://stackoverflow.com/questions/17828258/how-to-prevent-mfc-dialog-closing-on-enter-and-escape- ключи –