我该如何让窗口内的一个矩形,例如仅有50%不透明度,并使其具有WS_EX_TRANSPARENT效果,以便鼠标单击可以穿过它?
我认为仅通过设置WS_EX_TRANSPARENT是不可能实现的,但可以使用两个窗口来完成。创建一个带有洞的窗口,使用SetWindowRgn函数,并在该洞内使用WS_EX_LAYERED和WS_EX_TRANSPARENT样式放置另一个透明窗口。
看一下 SetLayeredWindowAttributes Win32 函数。
它可用于设置窗口的 不透明度 和 透明度。