以文本方式查看主题 - 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=82572) |
-- 作者:458445945 -- 发布时间:2016/3/20 23:51:00 -- XP系统下使用窗口透明属性后 窗口加载后控件有黑边 因为控件较多 打开窗口时候闪烁比较严重 所以我都是加载窗口后先透明 然后定时器里再还原 afterlord e.Form.BaseForm.Opacity = 0 timertick e.Form.TimerEnabled = False e.Form.BaseForm.Opacity = e.Form.BaseForm.Opacity + 1 |
-- 作者:大红袍 -- 发布时间:2016/3/21 2:48:00 -- 1、你不可以在afterLoad事件控制left和top?最后再移入?
2、不是也可以先设置 visible = false,或者 hide,最后show么? |
-- 作者:458445945 -- 发布时间:2016/3/21 10:00:00 -- 谢谢老师这么早就回复了,我试过隐藏后再显示同样还是会闪烁, 你不可以在afterLoad事件控制left和top?最后再移入? 这个我没试过,红袍老师,具体要怎么做啊?
|
-- 作者:大红袍 -- 发布时间:2016/3/21 11:02:00 -- 比如
vars("left") = e.Form.BaseForm.Left vars("top") = e.Form.BaseForm.Top e.Form.BaseForm.Left = -1000 e.Form.BaseForm.Top = -1000
然后,在 timertick 事件,设置回来,如
e.Form.BaseForm.Left = vars("left") e.Form.BaseForm.Top = vars("top") |
-- 作者:458445945 -- 发布时间:2016/3/21 16:50:00 -- 以下是引用大红袍在2016/3/21 11:02:00的发言:
比如
vars("left") = e.Form.BaseForm.Left vars("top") = e.Form.BaseForm.Top e.Form.BaseForm.Left = -1000 e.Form.BaseForm.Top = -1000
然后,在 timertick 事件,设置回来,如
e.Form.BaseForm.Left = vars("left") e.Form.BaseForm.Top = vars("top") 嗯嗯 这个可以,谢谢红袍老师! |