Windows 您如何允许MDI应用程序中的窗口离开它';s父容器w/Win32?

Windows 您如何允许MDI应用程序中的窗口离开它';s父容器w/Win32?,windows,winapi,mfc,wtl,Windows,Winapi,Mfc,Wtl,我有一个MDI应用程序。我想在子窗口的非客户端标题栏上添加一个图标,该图标允许窗口与父MDI容器分开浮动,允许用户将子窗口放置在桌面上,MDI窗口之外 我亲眼目睹了这一切,所以我知道这是可能的,但我很难想出如何实现它 我使用的是WTL(Windows模板库),但是我用MFC和Win32标记它,因为我相信基本原理是相同的,人们可能对Windows API有着广泛的了解。我这么做已经有一段时间了,但我认为调用SetParent(您的\u hwnd,0)就足够了让窗口脱离其父窗口 消息传递将发生一些变

我有一个MDI应用程序。我想在子窗口的非客户端标题栏上添加一个图标,该图标允许窗口与父MDI容器分开浮动,允许用户将子窗口放置在桌面上,MDI窗口之外

我亲眼目睹了这一切,所以我知道这是可能的,但我很难想出如何实现它


我使用的是WTL(Windows模板库),但是我用MFC和Win32标记它,因为我相信基本原理是相同的,人们可能对Windows API有着广泛的了解。

我这么做已经有一段时间了,但我认为调用SetParent(您的\u hwnd,0)就足够了让窗口脱离其父窗口

消息传递将发生一些变化,因此您可能必须将一些消息从主窗口重定向到前一个子窗口。如果希望MDI应用程序的主菜单与ex-child一起工作,则很可能需要此选项

如果遇到绘图问题,可能必须使用SetWindowLong更改窗口样式

使用WTL btw的好选择——在我看来,这是一个非常好的API抽象,没有任何细节