C++ 父窗口之外的子窗口。怎样

C++ 父窗口之外的子窗口。怎样,c++,windows,winapi,C++,Windows,Winapi,我试图在主窗口周围创建一个花哨的边框。我尝试了几种方法——有些有效,有些无效。现在我想用子窗口来实现它。子窗口应随父窗口一起移动,调整大小。它们应该是半透明的(我想画一个带有alpha的渐变)。它们也应该是鼠标透明的(点击) 我试图创建一个带有WS\u child标志的子窗口。不幸的是,这样的窗口不能在主窗口之外绘制。此外,WS_EX_LAYERED不能与Windows 7中的子窗口一起使用。因此,这个选项立即退出 接下来,我尝试了弹出窗口(即使用WS\u popup标志)。但一切都变得更糟——

我试图在主窗口周围创建一个花哨的边框。我尝试了几种方法——有些有效,有些无效。现在我想用子窗口来实现它。子窗口应随父窗口一起移动,调整大小。它们应该是半透明的(我想画一个带有alpha的渐变)。它们也应该是鼠标透明的(点击)

我试图创建一个带有
WS\u child
标志的子窗口。不幸的是,这样的窗口不能在主窗口之外绘制。此外,
WS_EX_LAYERED
不能与Windows 7中的子窗口一起使用。因此,这个选项立即退出

接下来,我尝试了弹出窗口(即使用
WS\u popup
标志)。但一切都变得更糟——视觉滞后于最小化/最大化/恢复。如果这样的窗口具有
WS_EX_LAYERED
标志,则最小化所有者不再工作的动画(o_o),依此类推


这是我想要的吗?

“WS\u EX\u LAYERED不能与子窗口一起使用”-它可以在Windows 8+中实现。更新了一篇帖子。我需要这个在Windows 7中工作。您是否尝试获取主窗口的HDC,并在WM_paint消息上简单地绘制您想要的任何边框?将主窗口扩大到包含边框空间,然后在
WM_NCPAINT
消息处理程序中自己绘制它。@DavidHaim,@IInspectable我以前做过这件事。为了制作半透明背景,我必须使用
UpdateLayeredWindow()
,这非常慢。无论如何,为了做我想做的事情,我只是创建了一些与主墙没有任何关系的附加窗口。我只是像VisualStudio一样完成了彩色边框。