MFC下屏蔽ESC、回车键以及ALT+F4

来源:互联网 发布:深圳数控车床编程招聘 编辑:程序博客网 时间:2024/05/01 23:38

 

在MFC程序中,如果不加设置的话,默认按下ESC键、回车键以及ALT+F4都会使程序退出,可以使用以下方法屏蔽掉。

在PreTranslateMessage中拦截WM_KEYDOWN和WM_SYSKEYDOWN,通过判断wParam来判断是否为ESC,回车或者F4,然后直接返回就行

例如:

BOOL CXXXDlg::PreTranslateMessage(MSG* pMsg)  

{   

if(pMsg->message == WM_KEYDOWN)

if (pMsg->wParam==VK_ESCAPE || pMsg->wParam==VK_RETURN)    //屏蔽回车和ESC  

return TRUE;     

if (pMsg->message == WM_SYSKEYDOWN && pMsg->wParam == VK_F4 ) //屏蔽ALT+F4

return TRUE;

 

return CDialog::PreTranslateMessage(pMsg);  //别忘了这句 

}