Preventing "Return" and "Esc" From Closing Dialog
来源:互联网 发布:淘宝图片助手官方 编辑:程序博客网 时间:2024/06/01 10:42
Introduction
A dialog-based application by default will close when the user hits
Return, Esc, File -> Close, or the "X" in the system menu (top right
of dialog/window). If your app is complicated and doesn't have an OK
and/or Cancel button in the main window of the app, the user may be
surprised when he hits Return (or Esc) accidentally and the app closes
on him. Imagine if you were using MS Word and it closed when you hit
the "Return" key, especially if you hadn't saved hours of work. Pretty
upsetting.
I wanted my app to close only when the user clicked the "X" in the
system menu or selected the File-> Close (or Exit) menu item.
The solution is simple.
//Disable OnCancel
void MyDialog::OnCancel()
{
}
//Disable OnOK
void MyDialog::OnOK()
{
}
//message map event handler executed when user selects the File Ext menu
item
void MyDialog::OnFileClose()
{
EndDialog(IDOK);
}
void MyDialog::OnSysCommand(UINT nID, LPARAM lParam)
{
if ((nID & 0xFFF0) == IDM_ABOUTBOX)
{
CAboutDlg dlgAbout; //if you have an about dialog
dlgAbout.DoModal();
}
//add the following code
else if ((nID & 0xFFF0) == SC_CLOSE)
{
//if user clicked the "X"
EndDialog(IDOK); //Close the dialog with IDOK (or IDCANCEL)
//---end of code you have added
}
else
{
CDialog::OnSysCommand(nID, lParam);
}
}
- Preventing "Return" and "Esc" From Closing Dialog
- Prevent Enter and Esc close dialog program
- Opening and Closing Windows
- Dialog屏蔽Esc按键
- Profit and Loss Closing Tcodesfrom
- Item 31. Covariant Return Types & Item 32. Preventing Copying
- closing
- Learning Linux(8): Preventing 'rm' command from removing important files
- Dialog里监听ESC按键事件
- Dialog里监听ESC按键事件
- [MFC]Dialog如何屏蔽回车和Esc
- 监听esc键 关闭dialog dwz框架
- Xen dom0 dedicated memory and preventing dom0 memory ballooning
- Prevent an AlertDialog from closing on PositiveButton click
- return alert from function
- SAP Dialog From Program
- ESC
- 屏蔽Dialog对话框中的Esc和Enter键的思路
- 缺陷与出路——一个游戏开发者的反思
- 在 JSF 的 Managed Bean 中获得request session对象
- AS3应用程序模块化开发与ApplicationDomain
- 如何在ActionScript 3.0里使用工厂模式和模板方法模式(Factory and Template Method Patterns)
- asp.net,网页层与div的数据交互
- Preventing "Return" and "Esc" From Closing Dialog
- 在Eclipse中安装Subversion
- 在wm5上显示地图图片的测试
- OpenSSH-4.7p1 安装指南
- sshd_config 中文手册
- 怎么在类中调用spring web容器中定义得bean
- Hibernate写代码流程小结
- Log4E 1.3.1 注册码
- 使用Unicode的问题 wWinMainCRTStartup设定程序入口