1

我正在实现类似类型的东西 - 我在下面代码的 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
    }
}
4

1 回答 1

1

最后我发现当我返回 true 时;在这个循环中,控件将退出循环(但它不是很好的方法)但是这个 getmessage 对我没有用,事实上,当我删除它时,我的程序运行正常。在它的存在下,它有无限循环。因为我使用 CreateDialogParam() 创建了对话框,然后通过这个 CreateDialogParam() 调用了 DialogProc,然后我使用 WM_Commnands 来处理根据应用程序接收到的消息,我觉得这个 getmessage 没有用(如果我错了,请指出任何人)

于 2013-07-23T10:51:04.493 回答