我有主MDI窗口,并有我动态创建的自定义CWnd派生窗口。即使主MDI窗口已最小化,我也希望将该窗口保留在屏幕上,但是我不想拥有最顶层的窗口。我尝试使用WS_EX_CONTROLPARENT | WS_EX_APPWINDOW样式,将parent设置为NULL并将owner设置为GetDesktopWindow(),但是没有任何效果。

有什么想法我应该怎么做?

最佳答案

当窗口最小化时,它会将其所有子窗口和所有拥有的窗口删除。

这段代码创建了一个常规(不是最顶部)窗口,当最小化主框架时该窗口不会隐藏:

    HWND hWnd = ::CreateWindow(L"button", L"test", WS_CAPTION|WS_VISIBLE,
                               100, 100, 200, 200, GetDesktopWindow(), 0, 0, 0);

09-04 16:15
查看更多