【发布时间】:2012-11-09 16:04:41
【问题描述】:
我一直在努力解决这是否可行。
基本上我想要的是一个带有正常边框但具有透明背景的表单。在这个区域中,我想要实时显示背后的内容(很可能是视频提要),我可以在其中捕获点击事件以在我的过度表单上显示更多信息。
目前我尝试使用 Form.TransparencyKey 和 BackColor,但随后我丢失了来自透明部分的点击事件。我还尝试使用 99% 透明的 png 作为 BackgroundImage,但这只会给出深灰色背景。
我注意到如果我画到间隙(即一条简单的线),我可以捕获这些点击事件,而不是透明部分。有没有办法我可以先在油漆上画一个半透明的矩形?
如果可能的话,我希望它与单声道兼容。
【问题讨论】:
-
对眼睛透明的窗口的任何部分对鼠标事件也是透明的。这是设计使然,无法更改。如果窗口属于同一个线程,则使用 IMessageFilter。如果没有,那么您将需要一个由 SetWindowsHookEx() 设置的低级鼠标挂钩。请注意,视频上的透明度覆盖往往效果不佳,它们使用相同的视频硬件功能。严重闪烁并不少见。