Foxtable(狐表)用户栏目专家坐堂 → XP系统下,背景透明效果没有实现


  共有2019人关注过本帖树形打印复制链接

主题:XP系统下,背景透明效果没有实现

帅哥哟,离线,有人找我吗?
13865161910
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:396 积分:3297 威望:0 精华:0 注册:2014/12/13 14:35:00
XP系统下,背景透明效果没有实现  发帖心情 Post By:2016/2/2 10:04:00 [只看该作者]

如题,W7系统窗口透明效果正常,但在XP系统下,窗口的透明背景效果无法实现!!

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/2/2 10:05:00 [只看该作者]

 你怎样做的窗口透明,贴出代码,上传实例。

 回到顶部
帅哥哟,离线,有人找我吗?
13865161910
  3楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:396 积分:3297 威望:0 精华:0 注册:2014/12/13 14:35:00
回复:(大红袍) 你怎样做的窗口透明,贴出代码...  发帖心情 Post By:2016/2/2 11:53:00 [只看该作者]

设置窗口的背景色Lavender,背景图片用*.png格式,窗口会略大于背景

然后afterload 设置如下:
e.Form.BaseForm().TransparencyKey = Color.Lavender
e.form.baseform.Opacity = 0.9 '窗口透明度(0.1-??)

forms("用户登录").baseform.ShowInTaskBar = True
e.Form.BaseForm.FormBorderStyle = Windows.Forms.FormBorderStyle.None '消除窗口的边框
myform = e.Form.BaseForm
Dim WS_SYSMENU As Integer = &H00080000
Dim Min As Integer = &H00020000
Dim windowLong As Integer = GetWindowLong(new HandleRef(e.Form.Baseform, e.Form.Baseform.Handle), -16)
SetWindowLong(new HandleRef(e.Form.Baseform, e.Form.Baseform.Handle), -16, windowLong Or WS_SYSMENU Or min)


在W7/8/10系统下 超出PNG区域的位置会显示成透明的,但在XP系统下,这个Lavender的颜色显示出来了,没有变透明!

 回到顶部
帅哥哟,离线,有人找我吗?
13865161910
  4楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:396 积分:3297 威望:0 精华:0 注册:2014/12/13 14:35:00
  发帖心情 Post By:2016/2/2 11:56:00 [只看该作者]

是否是XP系统风格设置问题?必须要使用默认的才能按效果显示?!

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/2/2 12:00:00 [只看该作者]

换一种颜色卡看,比如 Color.Red

 

不行的话,做个具体例子测试。


 回到顶部