Я создаю окно своего приложения в коде и пытаюсь показать окно сообщения, как только оно появится. Но я не могу. Я вижу только недавно созданное окно, без окна сообщения. Если я закрываю приложение, закрывая его окно, окно сообщения появляется внезапно, как если бы оно ожидало в какой-то очереди, и показывается только при закрытии окна приложения. Способ, которым я создаю окно, как-то блокирует модальные окна сообщения? Примечание: строка MessageBox предназначена только для тестирования. Я возьму его для нормального использования, так как это, очевидно, будет мешать циклу GetMessage.
//start relevant section of WinMain:
WNDCLASS wc={0};
wc.lpfnWndProc = WindowProc;
...
if (!RegisterClass(&wc) || !CreateWindow("mc", "mc", WS_POPUPWINDOW|WS_CAPTION|WS_VISIBLE, 100, 50, 100, 100, NULL, NULL, hInstance, NULL)) {
Error("Can't create window");
return 0;
}
ShowWindow(win, SW_SHOWNORMAL);
MessageBox(0, "Test", 0 ,0);
while (GetMessage(&msg,NULL,0,0)>0) {
TranslateMessage(&msg);
DispatchMessage(&msg);
}
//end relevant section of WinMain
long FAR PASCAL WindowProc(HWND h, UINT m, WPARAM wParam, LPARAM l)
{
switch (m) {
//process other messages
case WM_CREATE:
win=h;
//init stuff, paint something in the main window
break;
}
return DefWindowProc(h, m, wParam, l);
}