怎么让外部窗口透明和不透明之间转换
如何让外部窗口透明和不透明之间转换?这个问题跟网上搜索的不一样,请各位认真看清楚再回答,谢谢!首先一个
如何让外部窗口透明和不透明之间转换?
这个问题跟网上搜索的不一样,请各位认真看清楚再回答,谢谢!
首先一个外部窗口,是半透明的,现在我要在我的窗口下做子窗口,但因子窗口不支持半透明,我只能先记录当时窗口的样式,然后再把那窗口的WS_EX_LAYERED去掉让它不再透明,然后当我关闭我的窗口时,该外部窗口不关闭并重新赋予父窗口为桌面,但如何还原它的半透明状态呢?请给代码,谢谢!
[解决办法]
再用setwindowlong给设置上呗。
[解决办法]
我也觉得如此……
难道楼主用了,不行?
[解决办法]setwindowlong貌似不能跨进程?
[解决办法]我认为你可以试试不要动别人的WS_EX_LAYERED样式,而是直接使用SetLayeredWindowAttributes函数改变对方的透明度.
SetLayeredWindowAttributes我记得是可以跨进程的.
[解决办法]刚试了一下,确实可以.
只要对方窗体拥有WS_EX_LAYERED样式就可以直接用SetLayeredWindowAttributes函数改变对方的透明度.