我们将透明的应用程序窗口放在另一个进程的窗口上。我们的窗口包含一些子控件。我们创建一个 WS_EX_LAYERED 窗口,使用 colorkey 进行选择性透明度。主窗口是完全透明的,所以它只作为子控件的容器。
这在没有 Aero 的 XP 和 Vista上运行良好。但是,在带有 Aero 的 Vista 上,点击不会穿过透明区域。我们能做些什么?
使用 WS_EX_TRANSPARENT 失败了,这当然会使我们自己的控件无法操作。
我曾考虑隐藏父窗口(WS_SHOWWINDOW),但我相当肯定这将隐藏所有子窗口,并且 AFAIK 将窗口大小调整为最小尺寸,任何 CLIPCHILDREN 和 CLIPSIBLINGS 的组合都会以类似的方式失败......
谢谢你的帮助。