vb 透明窗体问题

panrongtao 2010-02-21 04:55:47
现在我有一个窗口,有两个地方的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)的颜色透明了,谁能告诉我怎么回事,并说说怎么弄才达到我的目的
...全文
67 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
gukuang78 2010-02-22
  • 打赏
  • 举报
回复
修改窗体Picture或取Picture数据进行数据替换。具体代码搜索:取Picturebox图片二进制数据
panrongtao 2010-02-21
  • 打赏
  • 举报
回复
引用 2 楼 lyserver 的回复:
SetLayeredWindowAttributes 只能对一种颜色生效。
如果想使两种颜色透明,则不妨先将其中一个颜色替换成另一种颜色后再使用SetLayeredWindowAttributes ,如果是图片,还可以使用transparentblt几次复制过滤掉需要透明的颜色。

怎样替换颜色呀,有什么方法,能给出代码吗,我实在不会
lyserver 2010-02-21
  • 打赏
  • 举报
回复
SetLayeredWindowAttributes 只能对一种颜色生效。
如果想使两种颜色透明,则不妨先将其中一个颜色替换成另一种颜色后再使用SetLayeredWindowAttributes ,如果是图片,还可以使用transparentblt几次复制过滤掉需要透明的颜色。
bcrun 2010-02-21
  • 打赏
  • 举报
回复
这个API是只对一种颜色生效的吧

1,486

社区成员

发帖
与我相关
我的任务
社区描述
VB API
社区管理员
  • API
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧