我遇到了问题WM_SIZE
。我想用PeekMessage
(而不是WndProc
)捕获它。 PeekMessage
从不接收WM_SIZE
,所以后额外的用户消息给窗口PeekMessage
捕获像这样(代码从WnProc
):WM_SIZE不按预期方式工作
case WM_SIZE:
PostMessageW(hwnd, WM_USER + 1, wParam, lParam);
break;
问题是我使用PeekMessage
仅当被最大化或恢复窗口接收WM_USER + 1
。当窗口被其粗框架调整大小时没有消息(尽管我在WndProc
中收到WM_SIZE
)。
用spy ++看了吗? – bmargulies
你从WndProc发布了你的'WM_USER + 1'消息吗? – Benlitz
是的,我从我的WndProc发布WM_USER + 1,因为PeekMessage本身永远不会收到WM_SIZE。我检查了PostMessageW,并且每次调整窗口大小时都会调用返回成功。但是PeekMessage只有在窗口被创建,最大化,恢复时才会收到它(不是当它被粗框架调整大小时)。 – Demion