如何在不关闭父窗口的情况下关闭子窗口?

han*_*ess 2 c++ winapi window

我有一个有 5 个子窗口的窗口。如何在不关闭父窗口的情况下关闭子窗口?

Ste*_*ieG 5

大概你有子窗口的句柄?如果是这样,那么只需使用DestroyWindow.

编辑:

您应该在主“窗口”中定义一个 WndProc 方法来处理来自子窗口的回调。您可以使用它来定义要对每条消息执行的操作。在您的情况下,您想调用 destroyWindow。

像这样的东西:

LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
    switch(msg)
    {
        case WM_CLOSE:
            DestroyWindow(hwnd);
        break;
        default:
            return DefWindowProc(hwnd, msg, wParam, lParam);
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)