我正在实现类似的东西 - 我在下面的代码的else部分有一些消息框..我在调试中得到的是 - 我一次又一次地有相同的消息框而且它没有结束(这使我的程序崩溃,我需要重新启动我的笔记本电脑)..有什么解决方案吗?我正在使用MFC应用程序并在窗口浏览器的预览窗格上创建一个按钮。一切都很好,但这是一个问题,如果我进入下面的循环,我无法出来(我的意思是在DispatchMessage或TranslateMessage中有一些东西一次又一次地调用这个函数)..我不能找到什么???
代码如下 -
while( (bRet = GetMessage( &msg, NULL, 0, 0 )) != 0)
{
if (bRet == -1)
{
// handle the error and possibly exit
}
else
{
TranslateMessage(&msg);
DispatchMessage(&msg);
//Onee message box here
}
}
答案 0 :(得分:1)
最后我发现当我回归真实时;在这个循环中,控件将退出循环(但它不是很好的方法)但是这个getmessage对我来说没有用,当我恢复它我的程序工作正常。在它的存在下它有无限循环。 因为我使用CreateDialogParam()创建了对话框,然后通过此CreateDialogParam()调用DialogProc然后我使用WM_Commnands来处理根据应用程序收到的消息,我觉得没有使用此getmessage(如果我错了请指点任何人)