winapi - WS_EX_LAYERED 色键 - Vista 问题

标签 winapi windows-vista transparent

我们将透明应用程序窗口放置在另一个进程的窗口之上。我们的窗口包含一些子控件。我们创建一个 WS_EX_LAYERED 窗口,使用 colorkey 来选择透明度。主窗口是完全透明的,因此它仅用作子控件的容器。

这在 没有 Aero 的 XP 和 Vista 上运行良好。但是,在带有 Aero 的 Vista 上,点击不会穿过透明区域。我们能做什么?

使用 WS_EX_TRANSPARENT 失败了,这当然会使我们自己的控件无法操作。

我考虑过隐藏父窗口 (WS_SHOWWINDOW),但我相当确定这将隐藏所有子窗口,并且 AFAIK 将窗口大小调整为最小大小,CLIPCHILDREN 和 CLIPSIBLINGS 的任何组合都会以类似的方式失败。 ..

感谢您的帮助。

最佳答案

另一种选择是使用窗口区域而不是 WS_EX_LAYERED

关于winapi - WS_EX_LAYERED 色键 - Vista 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1887955/

相关文章:

windows - 运行进程 Win32Api 的管道输出(stdout)

Ctrl + Shift +零的WPF KeyBinding Guesture不起作用

windows - 在 Windows 中隐藏 Linux 隐藏文件

python - Pygame - 在动画 Sprite 上调用 surface.convert() 会导致透明背景变成白色

winapi - 如何使用 WinAPI 获取 MessageBox 图标

c - 如何在同一进程内共享共享对文件的读/写访问权限,但在外部禁止它?

c++ - Vista/Win7 低音和高音音量

c++ - 在C/C++中从左到右应用透明渐变

ipad - 如果无法识别滑动手势,则将触摸事件路由到 UIScrollView 下方查看 - 就像 iPad Twitter 应用程序

c# - Windows 上是否有 posix SIGTERM 替代方案? -(控制台应用程序的温和杀戮)