怎么让对话框dialog里面的cedit控件对于回车不感冒?
2009-05-25 22:38
295 查看
方法:
对可编辑多行的CEdit时,需要选中Want Return属性
若是单行的CEdit,需要重载OnOK()和ONCancel()
拦截回车键消息
将CEdit控件的属性 Multiline 和 Want return 选中
我以前刚学的时候也是遇到这样的问题,身边又没有人会MFC,(更没有CSDN了)那时可是很郁闷啊。现在的学生可真幸福啊,呵呵。其实原因很简单:因为当你按下了回车时,WINDOWS查看当前输入焦点,如不在按钮上,再看哪个按钮是默认的(资源编辑器按钮中的default属性)。如果连默认按钮都没有,应用程序框架就把消息传给对话框的OnOK()虚函数。所以,只要你把这个函数重载一下,就可以了。基本上和那位MS MVP讲的差不多。
具体方法如下:
1。去掉OK按钮的默认属性。
2。为OK按钮添加消息处理函数。OnOK()
3。将OnOK中CDIalog::OnOK()去掉//如果你的对话框类直接继承自CDialog
4。将OK按钮ID重命名一般改为IDC_OK
5。为OK按钮重新添加消息处理函数。一般命名为OnClickedOK()这里是真正的处理按钮被按下的函数。
这样就可以了
这个问题我开始的时候也碰到了,好象是和程序的键盘响应函数有关的
这个是在类向导里面Message里面添加该函数的
BOOL CServerDlg::PreTranslateMessage(MSG* pMsg)
{
// TODO: Add your specialized code here and/or call the base class
if(pMsg->message == WM_KEYDOWN && pMsg->wParam == VK_RETURN)
{
//在这里添加你要程序在接受到键盘消息后的动作
return TRUE;
}
return CDialog::PreTranslateMessage(pMsg);
}
对可编辑多行的CEdit时,需要选中Want Return属性
若是单行的CEdit,需要重载OnOK()和ONCancel()
拦截回车键消息
将CEdit控件的属性 Multiline 和 Want return 选中
我以前刚学的时候也是遇到这样的问题,身边又没有人会MFC,(更没有CSDN了)那时可是很郁闷啊。现在的学生可真幸福啊,呵呵。其实原因很简单:因为当你按下了回车时,WINDOWS查看当前输入焦点,如不在按钮上,再看哪个按钮是默认的(资源编辑器按钮中的default属性)。如果连默认按钮都没有,应用程序框架就把消息传给对话框的OnOK()虚函数。所以,只要你把这个函数重载一下,就可以了。基本上和那位MS MVP讲的差不多。
具体方法如下:
1。去掉OK按钮的默认属性。
2。为OK按钮添加消息处理函数。OnOK()
3。将OnOK中CDIalog::OnOK()去掉//如果你的对话框类直接继承自CDialog
4。将OK按钮ID重命名一般改为IDC_OK
5。为OK按钮重新添加消息处理函数。一般命名为OnClickedOK()这里是真正的处理按钮被按下的函数。
这样就可以了
这个问题我开始的时候也碰到了,好象是和程序的键盘响应函数有关的
这个是在类向导里面Message里面添加该函数的
BOOL CServerDlg::PreTranslateMessage(MSG* pMsg)
{
// TODO: Add your specialized code here and/or call the base class
if(pMsg->message == WM_KEYDOWN && pMsg->wParam == VK_RETURN)
{
//在这里添加你要程序在接受到键盘消息后的动作
return TRUE;
}
return CDialog::PreTranslateMessage(pMsg);
}
相关文章推荐
- 在使用CEdit控件时,按回车键,不关闭当前对话框
- 控件中按回车键就关闭对话框问题怎么解决?
- 怎么在viewpager中获取子fragment里面的控件
- Android -- 对话框 Dialog: 确定取消,单选多选,进度显示, 常用控件示例:单选多选框,下拉列表,进度条,自动完成文本框, 菜单显示
- 盒子模型里面属性个数怎么对于4个方向的值
- C#(Winform)的SaveFileDialog(文件保存对话框)控件使用
- vc对话框中的组框控件起什么作用?怎么用呢?
- MFC改变对话框中的CEdit控件的背景色
- VC的对话框编辑器怎么为Edit控件指定一个快捷键
- MFC控件扩展-CEdit实现回车换行
- 【技术贴】在Excel一个小表格里面,如果回车的话就会跳到下一个格,我要换行怎么办啊?
- 消息提示类控件之Dialog(对话框)
- [Selenium]对于某些对话框即有可能弹出来,也有可能不弹出来,这种应该怎么处理呢?
- SAP 开发陷阱一箩筐(08)——做表控件的时候,怎么输入的行一回车就没了
- Android学习笔记28:对话框Dialog控件的使用
- 2.6 Qt提供的控件和对话框类(Built-in Widget and Dialog Classes)
- 一个带动画效果的颜色选择对话框控件AnimatedColorPickerDialog
- Android开发之四(十五):常用控件之对话框(Dialog)
- 改变对话框中的CEdit控件的背景色
- 怎么给Datagridview里面的控件添加事件