请教,当focus在对话框中的某一个控件上时,按下[ENTER]键,对话框会自动关闭。如何回避这个事件的触发。即按下ENTER,对话框不会关闭。
解决方案 »
- 基于微软Speech SDK 5.1 语音识别配置文件的问题
- 关于宏” AFX_MSG_CALL"的预定义问题
- 请问C++中宣称与定义有何不同?
- 模拟改变另外程序的ComboBox选项的问题。。。。
- 关于多文档的问题:如何固定视窗大小?
- ADO和DAO、ODBC等数据库访问接口哪个好?
- vb中使用共同模块来作为共同调用,但C++中(两个以上的类)没有这样的说法。不知道怎么办?
- 菜鸟级问题阿,困惑了我。
- LINK : warning LNK4089: all references to "SHELL32.dll" discarded by /OPT:REF
- 各位老大,用JAVA写的webservice服务,输入参数一个是二维String数组,一个是一维String数组,输出参数是一个二维数组.......
- 开始学installShield 和 wise,看什么书好啊?
- 关于whois查询结果中的中文处理的问题?
对话框会自动关闭,一般是你将焦点放在了确定或取消按钮上.
你要是不想关闭,将这两个按妞的return语句去掉
头文件中:virtual void OnOK();
CPP文件中:
void C**Dlg::OnOK()
{
//CDialog::OnOK();
}
这样就可以了,OnOK中不要任何代码。
也可以在PreTranslateMessage中处理
if(pMsg->message == WM_KEYDOWN && pMsg->WPARAM == VK_RETURN)
{
if(pMsg->hWnd == this->GetSaftHwnd()
return TRUE;
}
{
// TODO: Add your specialized code here and/or call the base class
if(pMsg->message == WM_KEYDOWN){
switch(pMsg->wParam){
case VK_RETURN://截获回车
return TRUE;
case VK_ESCAPE://截获ESC
// return TRUE;
break;
}
}
return CDialog::PreTranslateMessage(pMsg);
}也可以