1、重写
重写下面的函数
virtual BOOL PreTranslateMessage(MSG* pMsg);
2、函数体
BOOL Cfile_trans_codeDlg::PreTranslateMessage(MSG* pMsg)
{
if (WM_KEYDOWN == pMsg->message )
{
switch (pMsg->wParam)
{
case VK_ESCAPE: //Esc按键事件
return TRUE;
case VK\_RETURN: //Enter按键事件
return TRUE;
default:
break;
}
}
if ( (WM\_SYSKEYDOWN == pMsg->message) // WM\_SYSKEYDOWN 表示ALT键按下
&&
(VK\_F4 == pMsg->wParam) )
{
return TRUE;
}
return CDialogEx::PreTranslateMessage(pMsg);
}
3、注意:
如果 窗口继承 CDialog, 则上面的函数返回值应为:
return CDialog::PreTranslateMessage(pMsg);
若继承CDiaologEX,则返回值应为:
return CDialogEx::PreTranslateMessage(pMsg);
这样,按下enter 等屏蔽的按键,窗体就不会关闭了
手机扫一扫
移动阅读更方便
你可能感兴趣的文章