以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- XP系统下,背景透明效果没有实现 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=80802) |
-- 作者:13865161910 -- 发布时间:2016/2/2 10:04:00 -- XP系统下,背景透明效果没有实现 如题,W7系统窗口透明效果正常,但在XP系统下,窗口的透明背景效果无法实现!! |
-- 作者:大红袍 -- 发布时间:2016/2/2 10:05:00 -- 你怎样做的窗口透明,贴出代码,上传实例。 |
-- 作者:13865161910 -- 发布时间: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 -- 发布时间:2016/2/2 11:56:00 -- 是否是XP系统风格设置问题?必须要使用默认的才能按效果显示?! |
-- 作者:大红袍 -- 发布时间:2016/2/2 12:00:00 -- 换一种颜色卡看,比如 Color.Red
不行的话,做个具体例子测试。 |