您的位置:首页 > 其它

vc中对话框如何屏蔽ESC和ENTER键

2011-09-15 19:12 309 查看
在VC6.0中,我们可以对CDialog选中,按F12,然后在该类中找到虚函数

virtual void OnOK();

virtual void OnCancel();

我们改写他。

屏蔽ESC\Enter:方法一:

重载CDialog的OnCancel ,且让这两个函数的实现为空。

加入WM_CLOSE消息处理,实现如下,

void CMyDialog::OnClose()

{

DestroyWindow();

}

屏蔽ESC\Enter:方法二:

将另一按钮设为defaultbutton在属性中改。

也可重载对话框类的PreTranslateMessage(MSG* pMsg)这个虚函数

在其中加入如下代码BOOL CTeeeDlg::PreTranslateMessage(MSG* pMsg)

{

// TODO: Add your specialized code here and/or call the base class

if (pMsg->message ==WM_KEYDOWN)

{

int nVirtKey = (int) wParam;

if (nVirtKey==VK_RETURN)

{

......//如果是回车在这里做你要做的事情,或者什么也不作

return TRUE;

}

if (nVirtKey==VK_ESCAPE)

{

......//如果是ESC在这里做你要做的事情,或者什么也不作

return TRUE;

}

}

return CDialog::PreTranslateMessage(pMsg);

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: