如何为使用WS_CHILD样式创建的窗口获得与SetLayeredWindowAttributes相同的效果?有没有解决方法?来自MSDN:
要创建分层窗口,请在调用CreateWindowEx函数时指定WS_EX_LAYERED扩展窗口样式,或在创建窗口后调用SetWindowLong函数设置WS_EX_LAYERED。在CreateWindowEx调用之后,在为此窗口调用SetLayeredWindowAttributes或UpdateLayeredWindow函数之前,分层窗口将不可见。请注意,WS_EX_LAYERED不能用于子窗口。
答案 0 :(得分:2)
子窗口无法分层 - 此样式仅对具有WS_POPUP样式的窗口有效。解决此问题的一种可能方式(不是那么重要)是创建一个具有WS_POPUP样式的窗口,并在移动“父”窗口时同步其位置。
答案 1 :(得分:2)
在设置透明的孩子之前,请执行以下操作:
首先为它的MDI主窗口设置(SetWindowLong
& SetLayeredWindowAttributes
),
然后它会直接为孩子服务。