MyException - 我的异常网
当前位置:我的异常网» VB » 怎么让外部窗口透明和不透明之间转换

怎么让外部窗口透明和不透明之间转换

www.MyException.Cn  网友分享于:2013-02-20  浏览:1次
如何让外部窗口透明和不透明之间转换?
这个问题跟网上搜索的不一样,请各位认真看清楚再回答,谢谢!

首先一个外部窗口,是半透明的,现在我要在我的窗口下做子窗口,但因子窗口不支持半透明,我只能先记录当时窗口的样式,然后再把那窗口的WS_EX_LAYERED去掉让它不再透明,然后当我关闭我的窗口时,该外部窗口不关闭并重新赋予父窗口为桌面,但如何还原它的半透明状态呢?请给代码,谢谢!

------解决方案--------------------
再用setwindowlong给设置上呗。
------解决方案--------------------
引用:
再用setwindowlong给设置上呗。

我也觉得如此……

难道楼主用了,不行?
------解决方案--------------------
setwindowlong貌似不能跨进程?
------解决方案--------------------
我认为你可以试试不要动别人的WS_EX_LAYERED样式,而是直接使用SetLayeredWindowAttributes函数改变对方的透明度.

SetLayeredWindowAttributes我记得是可以跨进程的.
------解决方案--------------------
刚试了一下,确实可以.

只要对方窗体拥有WS_EX_LAYERED样式就可以直接用SetLayeredWindowAttributes函数改变对方的透明度.

文章评论

软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有