Отключение родительского окна при открытом всплывающем окне в c ++ - PullRequest
0 голосов
/ 07 апреля 2019

Как отключить родительское окно при открытом всплывающем окне в 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;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...