基于对话框的程序, 有按ESC键时(或有VK_ESCAPE时), 程序会退出?如何让程序(按ESC键时)不退出?
解决方案 »
- 请教什么是频域呀?傅立叶变换把信号从时域转化为频域的?
- 急!! ADO实现两个不同数据库之间表的复制
- ReleaseCapture问题?
- ATOM,"LRESULT CALLBACK",MSG,HINSTANCE之类...
- 请教字符转换问题。
- 操作系统的API都有ANSII版本,因此不会出错
- 求一个 C++ 椭圆拟合 方法 \\\ 另 懂matlab的大神 求帮忙!!!!!!!!!!
- 全局键盘钩子与一个c#写的程序同时运行时遇到的问题!!!
- 文本文件的读取
- 如何在VC中实现对局域网中计算机的全部扫描并用树形(类似资源浏览器)显示
- PsSetCreateProcessNotifyRoutine中的callback中打开进程文失败的问题
- 利用opencv实现gabor特征提取 在vc++的环境下
按空格退出的应该是你默认的按钮是“确定”吧?可以把那个自动生成的确定按钮删除了,自己弄一个!取消默认按钮的选项即可
class CMyDlg : public CDialog
{
// Construction
public:
CMyDlg(UINT nIDTemplate,CWnd* pParent): CDialog(CMyDlg::IDD, pParent)
{
} enum { IDD = IDD_MY222_DIALOG }; protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV supportprotected:
virtual void OnCancel(){} DECLARE_MESSAGE_MAP()
};窗体定义为CMyDlg后默认的关闭窗体就无效了,所以需要修改OnClose事件的实现
void CMy222Dlg::OnClose()
{
CDialog::DestroyWindow();
}
{
// TODO: 在此添加专用代码和/或调用基类 if(pMsg->message == WM_KEYDOWN)
{
if(pMsg->wParam == VK_ESCAPE || pMsg->wParam == VK_RETURN)
return TRUE;// 忽略 Esc & 回车
} return CDialogEx::PreTranslateMessage(pMsg);
}