怎样才能做到按Enter键而不退出对话框??? 一般我们建立对话框时,按Enter键都会默认退出对话框,现在我不想这样,那请问有什么的技巧可以做到呢????请高手指教!!!!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这.....都不会用 CSDN 的搜索么??-------------双击名为 IDOK 的按钮, 将里面的代码 CDialog::OnOK(); 去掉 重载 PreTranslateMessage 函数BOOL CTimingCloseComputerDlg::PreTranslateMessage(MSG* pMsg){ // TODO: 在此添加专用代码和/或调用基类 if (pMsg->message == WM_KEYDOWN && pMsg->wParam == VK_RETURN) return TRUE; return CDialog::PreTranslateMessage(pMsg);} 你自己处理这个函数PreTranslateMessage加入下面的代码if(pMsg->message==WM_KEYDOWN){ if(pMsg->wParam==VK_RETURN || pMsg->wParam==VK_ESCAPE) pMsg->wParam=NULL ;} 或者重写OnOk函数和OnCancel函数将其置空也可以。 重载 PreTranslateMessage 函数BOOL CTimingCloseComputerDlg::PreTranslateMessage(MSG* pMsg){ if (pMsg->message == WM_KEYDOWN && pMsg->wParam == VK_RETURN) return TRUE; return CDialog::PreTranslateMessage(pMsg);}重写OnOk函数将里面的代码 CDialog::OnOK(); 去掉 同意 重写OnOk函数将里面的代码 CDialog::OnOK(); 去掉 重载OnOK()如下void CMyDlg:: OnOK(){ CWnd *pWnd = GetFocus(); ASSERT (pWnd); if (IDOK != pWnd ->GetDlgCtrlID()) return; else CDialog::OnOK(); } 在资源中,选中ok 按钮 将它的defualt button 属性去掉。 把你的IDOK按钮的默认给去掉. 删掉OK按钮或删除OnOk函数中的CDialog::OnOk函数. http://www.xiaozhou.net/cooldog/blogview.asp?logID=24&cateID=13 按钮->属性->“默认按钮”不选中 为什么不同线程访问局部存储TLS的对象,能得到不同的拷贝? 串口数据接收 在ftp服务器端控制客户端上传文件 Excel数据粘贴到窗口上 一个进程可以开启的最大子线程数量是多少? 我开了2000个,再开,似乎有点乱套了。 有关listcontrol 关于读文件的问题 怎样使用一个嵌入HTML中的ActiveX控件获得所在页面上的所有HTML 为什么我的单文档SDI程序退出时,没有调用DestroyWindow()函数?在线等 activeX 如何创建一个网页控件呢 vc中写了一个对话框程序,运行后,按回车后,程序退出了?怎么控制让程序不退出?
双击名为 IDOK 的按钮, 将里面的代码 CDialog::OnOK(); 去掉
{
// TODO: 在此添加专用代码和/或调用基类
if (pMsg->message == WM_KEYDOWN && pMsg->wParam == VK_RETURN) return TRUE; return CDialog::PreTranslateMessage(pMsg);
}
if(pMsg->message==WM_KEYDOWN)
{
if(pMsg->wParam==VK_RETURN || pMsg->wParam==VK_ESCAPE)
pMsg->wParam=NULL ;
}
{
if (pMsg->message == WM_KEYDOWN && pMsg->wParam == VK_RETURN)
return TRUE; return CDialog::PreTranslateMessage(pMsg);
}重写OnOk函数
将里面的代码 CDialog::OnOK(); 去掉
将里面的代码 CDialog::OnOK(); 去掉
void CMyDlg:: OnOK()
{
CWnd *pWnd = GetFocus();
ASSERT (pWnd);
if (IDOK != pWnd ->GetDlgCtrlID())
return;
else
CDialog::OnOK();
}