请教一个关于自己获取消息的问题

gcq111005 2005-09-13 06:51:04
因为我的程序要在document类的一个成员函数类循环地处理数据,但同时要响应外界的消息。只要用户不关闭程序,程序就一直处理下去。所以我在函数里面用了自己获取消息的代码。(由于时间效率问题,我没有用定时器)。代码如下:
void CTestqqDoc::OnTest()
{
MSG msg;
BOOL fMessage;
PeekMessage(&msg, NULL, 0U, 0U, PM_NOREMOVE);
while(msg.message != WM_QUIT) // 消息循环
{
fMessage = PeekMessage(&msg, NULL, 0U, 0U, PM_REMOVE);
if( fMessage ) // 有消息
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
else
;// 处理任务

}

}

但现在的问题是,当我关闭程序时。窗口消失了,但程序没有结束。我跟踪了一下,程序根本就不能跳出循环,也就是说获取不到WM_QUIT消息。而且其他有一些消息也无法获取。
请问这是怎么回事呀?
...全文
63 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

15,980

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧