VC程序中如何屏蔽ESC退出对话框
用VC写好的程序,运行出对话框以后,按ESC键就退出了
请教高手如何屏蔽ESC退出对话框.
问题点数:10、回复次数:5Top
1 楼ra3(军机大臣)回复于 2005-03-02 10:02:01 得分 4
重载的PreTranslateMessage函数中屏蔽回车和ESC的消息:
BOOL CxxxDlg::PreTranslateMessage(MSG* pMsg)
{
if(pMsg->message==WM_KEYDOWN && pMsg->wParam==VK_ESCAPE) return TRUE;
if(pMsg->message==WM_KEYDOWN && pMsg->wParam==VK_RETURN) return TRUE;
else
return CDialog::PreTranslateMessage(pMsg);
}
Top
2 楼idAnts(此广告位招租)回复于 2005-03-02 10:04:05 得分 3
BOOL CPCLinkDC2Dlg::PreTranslateMessage(MSG* pMsg)
{
if(WM_KEYDOWN == pMsg->message)
{
if((13 == pMsg->wParam) || //enter
(27 == pMsg->wParam)) //escape
return FALSE;
}
return CDialog::PreTranslateMessage(pMsg);
}Top
3 楼happyparrot(快乐鹦鹉)回复于 2005-03-02 10:04:05 得分 1
响应对话框的OnCancel()消息,然后将缺省的CDialog::OnCancel()注释掉就可以了Top
4 楼MadGodRokie(冷艳锯)回复于 2005-03-02 10:11:01 得分 2
BOOL CSysDlg::PreTranslateMessage(MSG* pMsg)
{
if (WM_KEYDOWN == pMsg->message)
{
if (VK_ESCAPE == pMsg->wParam)
{// Esc 键
return TRUE;
}
}
}Top
5 楼syd1207(既然选择远方,便只顾风雨兼程。。。)回复于 2005-03-02 10:13:38 得分 0
多谢各位大侠仗义出手!
小弟谢过了!Top




