我们将透明的应用程序窗口放在另一个进程的窗口上。我们的窗口包含一些子控件。我们创建一个WS_EX_LAYERED窗口,使用colorkey选择透明度。主窗口是完全透明的,因此它只用作子控件的容器。
这适用于 XP和没有Aero的Vista 。但是,在 Vista with Aero 点击时,不会通过透明区域。我们能做什么?
使用WS_EX_TRANSPARENT失败,当然它使我们自己的控件无法运行。
我考虑过隐藏父窗口(WS_SHOWWINDOW),但我相当肯定会隐藏所有孩子,并且AFAIK将窗口调整到最小尺寸,使用CLIPCHILDREN&amp ;; CLIPSIBLINGS会以类似的方式失败......
感谢您的帮助。
答案 0 :(得分:2)
另一种选择是使用窗口区域而不是WS_EX_LAYERED
答案 1 :(得分:0)