VC 屏蔽 ENTER或者ESC键 退出事件
来源:互联网 发布:淘宝产品推广咋挣钱 编辑:程序博客网 时间:2024/05/01 00:36
virtual BOOL PreTranslateMessage(MSG* pMsg)
{
return CWindow::IsDialogMessage(pMsg);
}
改成:
virtual BOOL 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 CWindow::IsDialogMessage(pMsg);
}
---------------------------------------------
MFC:
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);
}
--------------------
在一般情况下编写的对话框程序,用户在运行的时候,如果不注意按下了ENTER或者ESC键,程序就会立刻退出,之所以会这样,是因为按下Enter键时,Windows就会自动去找输入焦点落在了哪一个按钮上,当获得焦点的按钮的四周将被点线矩形包围。如果所有按钮都没有获得输入焦点,Windows 就会自动去寻找程序或资源所指定的默认按钮(默认按钮边框较粗)。如果对话框没有默认按钮,那么即使对话框中没有OK按钮,OnOK函数也会自动被调用,对于一个普通的对话框程序来说,OnOK函数的调用,以为着程序会立刻退出。为了使Enter键无效,最简单的办法就是将CExDlg的OnOK函数写成空函数,然后针对OK按钮写一个新的函数来响应。ESC键的原理也是如此,它是默认和OnCancel函数映射在一起的。对于ESC键,需要自己重载 CDialog类的PreTranslateMessage函数,当发现是ESC键的时候,过滤掉这个消息或者是替换掉这个消息。
- VC 屏蔽 ENTER或者ESC键 退出事件
- VC 屏蔽 ENTER或者ESC键 退出事件
- VC++ 屏蔽按ENTER或者ESC键退出程序
- VC屏蔽Enter和ESC退出程序
- VC屏蔽Enter和ESC退出程序
- VC屏蔽Enter和ESC退出程序
- VC 屏蔽ESC,ENTER
- C++ 屏蔽ESC或Enter键退出
- VC屏蔽Enter和ESC退出程序的技巧
- VC屏蔽Enter和ESC
- MFC对话框程序屏蔽ESC和ENTER键退出
- MFC对话框程序屏蔽ESC和ENTER键退出
- MFC 屏蔽ESC,Enter退出的问题
- MFC 对话框屏蔽ESC Enter退出
- vc 简单屏蔽alt+F4键、ESC和ENTER键
- vc中对话框如何屏蔽ESC和ENTER键
- VC中对话框如何屏蔽ESC和ENTER键
- vc中对话框如何屏蔽ESC和ENTER键
- sql 函数 杂记
- FreeRTOS 移植到ST Cortex-3芯片
- 中文分词技术
- IE与FireFox都支持的 onbeforeunload事件(转)
- php使用curl发送post连接
- VC 屏蔽 ENTER或者ESC键 退出事件
- 3G技术普及手册
- 文章标题
- 前瞻式思维
- 字符串
- gpio
- Isolated Storage
- PBX俗称:程控交换机
- 文章标题