Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一个 MDI 应用程序。我想在子窗口的非客户端标题栏中添加一个图标,允许窗口与父 MDI 容器分开浮动,允许用户获取子窗口并在 MDI 之外将它们任意放置在桌面周围窗户。
我已经看到它完成了,所以我知道这是可能的,但我很难弄清楚如何完成它。
我正在使用 WTL(Windows 模板库),但是我使用 MFC 和 Win32 来标记它,因为我相信基本原理是相同的,而且人们可能会了解各种 Windows API。
我这样做已经有一段时间了,但我认为调用SetParent (your_hwnd, 0)让窗口从它的父窗口逃脱就足够了。
消息传递会发生一些变化,因此您可能必须将一些消息从主窗口重定向到以前的子窗口。如果您希望 MDI 应用程序的主菜单与前孩子一起使用,这很可能是必需的。
如果您遇到绘图问题,您可能必须使用SetWindowLong更改窗口样式。
顺便说一句,使用 WTL 的好选择——在我看来,这是一个非常好的 API 抽象,没有任何花里胡哨。