有个程序大概是这样的:
输入一个数据(按回车键)程序就开始运行,运行期间有一线程,接着弹出一个对话框(对话框设有Default Button )。
问题来了,如果一开始输入数据时按2下回车,程序好像会记住回车消息,然后运行到弹出对话框时自动响应回车消息。即相当于按下回车,怎么办?怎么消除这个回车? 另辟蹊径也可,朋友们帮帮忙啊。
............
............
AfxBeginThread(ThreadProc1,hWnd);
WinLEDCheckResult dlgResult;
dlgResult.DoModal();//如果前面多按一个回车,在此会自动响应回车
............
............
输入一个数据(按回车键)程序就开始运行,运行期间有一线程,接着弹出一个对话框(对话框设有Default Button )。
问题来了,如果一开始输入数据时按2下回车,程序好像会记住回车消息,然后运行到弹出对话框时自动响应回车消息。即相当于按下回车,怎么办?怎么消除这个回车? 另辟蹊径也可,朋友们帮帮忙啊。
............
............
AfxBeginThread(ThreadProc1,hWnd);
WinLEDCheckResult dlgResult;
dlgResult.DoModal();//如果前面多按一个回车,在此会自动响应回车
............
............
解决方案 »
- 这种记录应该有什么数据结构好?
- 取色问题
- 用ADO连接EXECL2003编译通过,为什么执行第一次正常,第二次报错
- 问一个关于ISAPI Filter的问题
- 庆祝同事今天生日好了!散分
- [求助]关于对象数组,VC6.0。谢谢!
- Database view without file support 和 Database view with file support有什么不同?
- 300分的打贴子啊!!!!!_________________怎么知道托盘中的每个图标对应那个进程呢?____________________-____——————————————————
- 请问如何控制剪贴板复制文件
- toolbar的颜色
- 求VC调用VB的DLL 的例子 多谢
- 如何监视自己创建的进程结束,并进行相关处理
在WinLEDCheckResult类里 重载PreTranslateMessage函数BOOL WinLEDCheckResult::PreTranslateMessage(MSG* pMsg)
{
if(pMsg->message == WM_KEYDOWN)
{
switch(pMsg->wParam)
{
case VK_RETURN://屏蔽回车
return TRUE;
}
}
return CDialog::PreTranslateMessage(pMsg);
}
{//禁止回车关闭窗口
if( pMsg->message==WM_KEYDOWN &&pMsg->wParam==VK_RETURN)
return TRUE;
return CDialog::PreTranslateMessage(pMsg);
}
OK ! Thank you all the same .