【发布时间】:2012-05-29 19:15:15
【问题描述】:
这是我的主循环:
while(TRUE)
{
PeekMessage(&msg,hWnd,0,0,PM_REMOVE);
if (msg.message==WM_QUIT)
break;
TranslateMessage(&msg);
DispatchMessage(&msg);
}
这是我的回调程序:
LRESULT CALLBACK WinProc(HWND hWnd,UINT msg1,WPARAM wParam,LPARAM lParam)
{
switch(msg1)
{
case WM_DESTROY :
{
PostQuitMessage(0);
return 0;
}
break;
}
return DefWindowProc(hWnd,msg1,wParam,lParam);
}
我发现当我按下关闭按钮时,WM_NCLBUTTONDOWN 将在下一个循环中由 PeekMessage 函数返回,并且没有 WM_QUIT!
【问题讨论】:
-
几周前还有一个关于同样问题的问题:Infinite windows message loop