// Main message loop
MSG msg;
ZeroMemory(&msg, sizeof(msg));
while(msg.message!=WM_QUIT)
{
if(PeekMessage(&msg, NULL, 0U, 0U, PM_REMOVE))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
else
{
Render();
}
}
的“渲染”功能尚未执行为什么PeekMessage总是返回TRUE?
只有当消息队列中有WM_QUIT时,PeekMessage才会返回FALSE。只有这一点,没有别的。你必须将'Render'功能移到其他地方,这取决于它应该做什么。 – Dialecticus 2012-03-18 16:40:37
@Dialecticus不,它在队列为空时返回'FALSE'。 – 2012-03-18 17:15:30
好吧,很难猜到你从问题中收到了什么信息。当你不调用Begin/EndPaint()的时候,我会反复生成WM_PAINT。 – 2012-03-18 17:41:10