Как отключить родительское окно при открытом всплывающем окне в C ++ Microsoft Visual Studio WinApi. По сути, я хочу, чтобы мое всплывающее окно действовало как модальный диалог. Я нашел этот цикл сообщений в Интернете, который говорит, что он должен сделать этот трюк, но это не так. Когда я открываю свое приложение, родительское окно уже отключено, и я ничего не могу с ним сделать. Ниже я приведу цикл сообщений, который использовал в своей программе. Что я должен сделать, чтобы отключить родительское окно, когда всплывающее окно открыто и после закрытия всплывающего окна, как мне включить родительское окно обратно?
BOOL fDone;
INT nResult = 0;
int RunModalWindow(
HWND hwndPopup,
HWND hWndParent);
if (hWndParent != NULL) {
EnableWindow(hWndParent, FALSE);
}
MSG msg;
for (fDone = FALSE; !fDone; WaitMessage())
{
while (PeekMessage(&msg, 0, 0, 0, PM_REMOVE))
{
if (msg.message == WM_QUIT)
{
fDone = TRUE;
PostMessage(NULL, WM_QUIT, 0, 0);
break;
}
if (!IsDialogMessage(hwndPopup, &msg))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
}
if (hWndParent != NULL)
EnableWindow(hWndParent, TRUE);
DestroyWindow(hwndPopup);
return nResult;
}