设计对话框时,怎样做 按ESC键不能关掉对话框

olivine1 2003-09-12 09:49:52
设计对话框时,怎样做 按ESC键不能关掉对话框,因为系统默认按ESC键关闭对话框,要屏蔽掉这个按键如何写代码.我试了在OnChar()中按ESC键空操作也不行.
...全文
96 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
AlvaChin 2003-09-12
  • 打赏
  • 举报
回复
最合理的做法是 abc_rain 说的那样。
bcpl 2003-09-12
  • 打赏
  • 举报
回复
BOOL CYourDlg::PreTranslateMessage(MSG* pMsg)
{
if (pMsg->message == WM_KEYDOWN && pMsg->wParam == VK_ESCAPE)
{
DispatchMessage(pMsg);
return TRUE;
}
}
olivine1 2003-09-12
  • 打赏
  • 举报
回复
结贴
autoegg 2003-09-12
  • 打赏
  • 举报
回复
就是abc_rain的做法。
ejiue 2003-09-12
  • 打赏
  • 举报
回复
在编辑对话框的时候去掉system menu。不过这样右上角的close也没了。
abc_rain 2003-09-12
  • 打赏
  • 举报
回复
BOOL CMyDialog::PreTranslateMessage(MSG* pMsg)
{
// TODO: Add your specialized code here and/or call the base class
if((pMsg->message == WM_KEYDOWN)&&(pMsg->wParam == VK_ESCAPE))// ESC被按下
return true;

return CDialog::PreTranslateMessage(pMsg);
}
KUCHIBUE 2003-09-12
  • 打赏
  • 举报
回复
重载OnCancel函数
思危 2003-09-12
  • 打赏
  • 举报
回复
过载OnCancel函数

void CMyDialog::OnCancel()
{

}
bluestar 2003-09-12
  • 打赏
  • 举报
回复
重载OnCancel函数
.h中加入
virtual void OnCancel();

.cpp中加入
void CMyDialog::OnCancel ()
{
return;
}

15,980

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧