对整个表单的透明度进行最佳测试

本文关键字:最佳 测试 透明度 表单 | 更新日期: 2023-09-27 18:37:21

是否可以

在不调整表单可见性的情况下,表单的整个边界都变得透明?

我正在使用 user32 api 调用来WindowFromPoint以查找鼠标下的控件。 在某些情况下,我想忽略浮动在主窗体(或其他子窗体)前面的子窗体的存在,但保留此窗体以忽略可见。

表单的不透明度设置为忽略 0 将成功导致命中测试直接通过它,但表单显然是不可见的,我希望它保持可见。

由于此子窗体

上可以包含任意数量的控件,因此此窗体是否有办法截获发送到窗体上子控件的所有WM_NCHITTEST消息,以便我可以为每个控件返回命中透明度? 表单上包含的控件是任意的,因此我无法在内部修改它们。

对整个表单的透明度进行最佳测试

您正在寻找WS_EX_TRANSPARENT Windows 样式。

这个答案给出了一个足够好的解释。