我最近遇到了一种情况,我想在 Win32 中使用无模式对话框。
Win32:工具栏对话框似乎永远无法获得焦点并导致主窗口处理缓慢!?
我发现这是我的消息循环:
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd) {
// Doing required stuff here...
while (GetMessage(&Msg, hWnd, 0, 0) > 0) {
// Processing messages here...
}
}
事实上,只要我没有任何无模式对话框,这个消息循环就可以正常工作,因为它与模式对话框完美配合,因为它们处理自己的消息循环。hWnd
当我将实例替换为NULL
. 我只是不明白其中的区别,只是似乎我收到的消息不是针对某个特定窗口的消息。
有人可以解释是什么让这个消息循环工作不正确吗?
作为这个:
while (GetMessage(&Msg, NULL, 0, 0) > 0) {
// Processing messages here...
}
完美无瑕!