// 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