C++ 如何仅使窗口的一部分透明?(WIN32)

C++ 如何仅使窗口的一部分透明?(WIN32),c++,windows,winapi,C++,Windows,Winapi,例如,我怎样才能使窗口内只有一个矩形的不透明度达到50%或类似的程度,并使该部分具有WS_EX_透明的效果,以便鼠标点击可以通过它?我认为简单地设置WS_EX_透明是不可能的,但可以使用两个窗口来实现,使用创建一个带有孔的窗口,并在该孔内放置另一个使用WS_EX_LAYERED和WS_EX_transparent样式的透明窗口。查看设置LayeredWindowAttributesWin32函数 它可以用来设置窗口的不透明度和透明度。看看这篇CodeProject文章:。降低不透明度的部分可以通

例如,我怎样才能使窗口内只有一个矩形的不透明度达到50%或类似的程度,并使该部分具有WS_EX_透明的效果,以便鼠标点击可以通过它?

我认为简单地设置WS_EX_透明是不可能的,但可以使用两个窗口来实现,使用创建一个带有孔的窗口,并在该孔内放置另一个使用WS_EX_LAYERED和WS_EX_transparent样式的透明窗口。

查看设置LayeredWindowAttributesWin32函数


它可以用来设置窗口的不透明度和透明度。

看看这篇CodeProject文章:。

降低不透明度的部分可以通过其他方式实现吗,或者你也可以通过同样的方式实现吗?