[MFC]学习笔记:Dialog 屏蔽Enter & ESC退出的功能

在写煲耳机的软件中遇到了Dialog Box按“Enter” & “ESC” 按键会退出程序的问题。

参考了:http://bbs.csdn.net/topics/20427950

之后按照自己的需求修改了:


private:
	void OnOK(void);
    BOOL PreTranslateMessage(MSG* pMsg);




void CSmartBurnInDlg::OnOK(void)
{
	// Don't active OnOK process
	//CDialog::OnOK();
}


BOOL CSmartBurnInDlg::PreTranslateMessage(MSG* pMsg)
{
    // Disable "esc" key
    if((WM_KEYDOWN == pMsg->message) && (VK_ESCAPE == pMsg->wParam))
    {
        return TRUE;
    }

    return CDialog::PreTranslateMessage(pMsg);
}



满足了自己需求:

1. 屏蔽“ESC”

做法就是:重载“PreTranslateMessage” 并屏蔽“VK_ESCAPE” Key

2. 屏蔽Enter退出,但仍然有按Enter进入的功能

做法就是重载OnOK,但不做处理。


记录一下,以备后查。

参考资料:

http://bbs.csdn.net/topics/20427950



你可能感兴趣的:(MFC)