读书人

vb 透明窗体有关问题

发布时间: 2012-02-26 20:19:44 作者: rapoo

vb 透明窗体问题
现在我有一个窗口,有两个地方的RGB分别是(0,0,0)和(255,255,255),我想让这两处的颜色都透明,问题是,我用SetLayeredWindowAttributes a, RGB(0, 0, 0) , 192, LWA_COLORKEY
SetLayeredWindowAttributes a, RGB(255, 255, 255) , 192, LWA_COLORKEY
只有(255,255,255)的颜色透明了,谁能告诉我怎么回事,并说说怎么弄才达到我的目的

[解决办法]
这个API是只对一种颜色生效的吧
[解决办法]
SetLayeredWindowAttributes 只能对一种颜色生效。
如果想使两种颜色透明,则不妨先将其中一个颜色替换成另一种颜色后再使用SetLayeredWindowAttributes ,如果是图片,还可以使用transparentblt几次复制过滤掉需要透明的颜色。
[解决办法]
修改窗体Picture或取Picture数据进行数据替换。具体代码搜索:取Picturebox图片二进制数据

读书人网 >VB

热点推荐