仅使用标题栏中的[X]按钮关闭MFC应用程序并禁用ESC快捷方式

closing MFC application only using [X] button in title bar and disabling esc shortcut

本文关键字:应用程序 MFC 快捷方式 ESC 标题栏 按钮      更新时间:2023-10-16

我有一个基于对话框的MFC应用程序,我只想使用 x (关闭)按钮在标题栏中给出的按钮并禁用其他快捷方式。所以。
例如:按 esc 键。有人可以帮忙吗?

覆盖prestlanslatemessage函数,并捕获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);
}