我首先寻求Windows的解决方案。 我需要在屏幕图像上添加视觉效果,而不会破坏此屏幕上所有控件的交互性。 解决方案可以很简单: 1.截取屏幕截图 2.在其他窗口上方的单独窗口中显示此屏幕截图 3.将效果应用于图像,显示在此窗口中 但是,这个窗口(包含屏幕截图)使下面的任何按钮和其他控件无法访问鼠标(点击,悬停)
有没有办法做到这一点?
答案 0 :(得分:1)
来自MSDN关于layered windows的文档......
“分层窗口的命中测试基于窗口的形状和透明度。这意味着窗口中的颜色键或其alpha值为零的区域将允许鼠标消息通过。但是,如果分层窗口具有WS_EX_TRANSPARENT扩展窗口样式,则将忽略分层窗口的形状,并将鼠标事件传递到分层窗口下的其他窗口。“
这是an article about it。请注意这个附加警告:
“设置WS_EX_TRANSPARENT属性会影响整个窗口:用户无法使用”x“按钮关闭窗口,使用鼠标选择它,或者选择窗口上的任何控件。应用程序仍然可以关闭以编程方式显示窗口。“
根据您实际绘制的内容和位置,使用Owner-Drawn Controls而不是在整个窗口上悬停“洋葱皮”可能更合适。