MFC中回车,空格,ESC,F1键盘操作对对话框的影响处理
来源:互联网 发布:北京淘宝美工培训 编辑:程序博客网 时间:2024/04/29 03:26
如果希望键盘左右键不会影响对话框中按钮的焦点,则可以将这些按钮设置为Group属性。(转载请指明出处)
F1键屏蔽:
void MainApp::WinHelp( DWORD dwData, UINT nCmd /*= HELP_CONTEXT*/ ){// 屏蔽所有的F1帮助}
别忘了在头文件的相应地方加上virtual void WinHelp(DWORD dwData, UINT nCmd = HELP_CONTEXT);
或者
BEGIN_MESSAGE_MAP(ChildApp, CWinApp)//ON_COMMAND(ID_HELP, CWinApp::OnHelp)END_MESSAGE_MAP()
按空格是相当于在对话框中执行焦点所在按钮的操作。
如果想设置按空格执行的按钮,如下
BOOL CChildDialog::OnInitDialog(){ m_pButton->SetFocus(); return FALSE;}
别忘了在头文件中加入virtual BOOL OnInitDialog();
有些对话框要屏蔽Enter和ESC。一般Enter对应OnOK(),ESC对应OnCancel()。因此解决方法是:
1 重写OnOK()和OnCancel()函数。使其不返回IDOK等值。
2 截获消息,代码如下:
BOOL CChildDialog::PreTranslateMessage(MSG* pMsg){ if(WM_KEYDOWN == pMsg->message ) { UINT nKey = (int) pMsg->wParam; if( VK_RETURN == nKey ) return TRUE ; } return TypeBaseClass::PreTranslateMessage(pMsg);}
别忘了在头文件里加入afx_msg BOOL PreTranslateMessage(MSG* pMsg);
用户一般喜欢击Enter而不是空格,对于用户想击Enter而执行的按钮,可以设置如下。
BOOL CChildDialog::OnInitDialog(){ SetDefID(IDC_BUTTONID); return TRUE;}
(转载请指明出处)
- MFC中回车,空格,ESC,F1键盘操作对对话框的影响处理
- MFC中回车,空格,ESC,F1键盘操作对对话框的影响处理
- MFC中屏蔽ESC和回车关闭对话框
- MFC中屏蔽ESC和回车关闭对话框
- MFC中默认回车或ESC会关闭对话框,解决办法:
- MFC中屏蔽ESC和回车关闭对话框
- MFC对话框按回车和Esc不会关闭的方法
- MFC对话框模式解决,回车,esc问题
- 【转】关闭对话框,OnClose和OnCancel MFC中屏蔽ESC和回车关闭对话框
- MFC对话框中处理Enter或Esc按键事件方法
- MFC对话框中处理Enter或Esc按键事件方法
- MFC对话框程序: 回车,ESC对话框消失解决办法总结
- 基于MFC编程中,当创建了一个对话框后,但是当按下ESC或者是回车健的时候,这个对话框就会消失
- MFC对话框按下回车和Esc键关闭的解决
- MFC中防止Enter和ESC关闭对话框的方法
- MFC对话框程序屏蔽回车与ESC键
- MFC对话框程序屏蔽回车与ESC键
- MFC对话框程序屏蔽回车与ESC键
- KDB+ database
- be sick
- SQL Server 2005如何进行数据库定期备份
- UGC的思考之一:从菊花行动说起
- 75道逻辑思维题
- MFC中回车,空格,ESC,F1键盘操作对对话框的影响处理
- ADVERBS OF TIME(转)
- JAVA 反射 判断操作系统 更新系统界面
- Ubuntu下Qt的安装和一些配置
- Ext core 3 中文手册
- KDB+ database 介绍
- 半年来,我的脚步
- ACE5.6在Vs2005下的安装步骤
- mysql_connect和mysql_pconnect区别