这个 Label 闪烁得很厉害。。怎么解决??
vb吧
全部回复
仅看楼主
level 1
快樂钚哆 楼主
下面的 22% 就是问题中的 Label 控件。backstyle属性设置为0。就是北京透明。Label 下面的是播放进度条。MouseMove事件是这样的:Label1.Caption = Fix(X / Picture1.Width * 100) & "%"Label1.Top = Picture1.Top - Label1.HeightLabel1.Left = Picture1.Left + XIf Label1.Visible = False Then Label1.Visible = True播放进度条就是代码中的 Picture1 ,Label就是代码中的Label1。就是鼠标在播放进度条上移动的时候提示黍标所在位置占音乐总长度的百分之几。当鼠标移动时,经常导致 Label闪烁。以下回答对我没用:换另外的控件。把Label的backstyle设置为1。谁能给我讲名原因或解决办法??
2007年12月18日 04点12分 1
level 1
快樂钚哆 楼主
下面的 22% 就是问题中的 Label 控件。backstyle属性设置为0。就是北京透明。 上面北京打错字。是背景。
2007年12月18日 04点12分 2
level 1
解决不了!vb Label 本身就闪 没办法!你用API 画一个,或用VB DX 画,这样没有问题了!
2007年12月18日 04点12分 3
level 1
快樂钚哆 楼主
怎么用API或者DirctX画。我不懂。请教一下。
2007年12月18日 04点12分 4
level 13
【CBM666 的不闪 LABEL】http://post.baidu.com/f?ct=335675392&tn=baiduPostBrowser&sc=1738694950&z=186781673&pn=0&rn=50&lm=0&word=vb#1738694950
2007年12月18日 08点12分 6
level 1
快樂钚哆 楼主
谢谢CBM666老师。不但帮我解决了 Label 闪烁。连窗口都不闪了。只要这几行代码:Private Declare Function SetLayeredWindowAttributes Lib "user32" (ByVal hwnd As Long, ByVal crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags As Long) As LongPrivate Const WS_EX_LAYERED = &H80000Private Const GWL_EXSTYLE = (-20)Private Const LWA_ALPHA = &H2Private Const LWA_COLORKEY = &H1Private Sub Form_Load()Dim rtn As Long rtn = GetWindowLong(hwnd, GWL_EXSTYLE) rtn = rtn Or WS_EX_LAYERED SetWindowLong hwnd, GWL_EXSTYLE, rtn SetLayeredWindowAttributes hwnd, 0, 255, LWA_COLORKEY And LWA_ALPHAEnd Sub
2007年12月18日 09点12分 7
level 1
快樂钚哆 楼主
但是感觉这样之后。窗口的处理速度明显慢了很多。我用背景填充了窗口。图片随窗口大小而变化。调整窗口大小之后。会出现一大快空白,然后图片才跟着改变大小。这段时间有一秒多钟。
2007年12月18日 09点12分 8
level 13
SetLayeredWindowAttributes 确实会减慢速度,这主要是看你的用途而定,兵来将挡水来土掩, 见机行事脑子转一转吧, 哈哈,俺的方法可多着呢,主要是看情况而定, 编程不是死的.再给你两个代码, 你去思考吧.http://post.baidu.com/f?ct=335675392&tn=baiduPostBrowser&sc=2027002797&z=215086146&pn=0&rn=50&lm=0&word=vb#202700279718F 19F
2007年12月18日 11点12分 9
level 1
我这个一点也不卡!
2007年12月25日 07点12分 11
level 0
在该窗体上加一个PICTUREBOX,让label内容同时显示在pictruebox上,然后将picture颜色设为背景色,其上显示内容同样改为背景色,这样label就不闪烁了!
2009年08月30日 14点08分 12
level 0
if Label1.Caption <> Fix(X / Picture1.Width * 100) & "%" 
then Label1.Caption = Fix(X / Picture1.Width * 100) & "%"
2009年09月01日 01点09分 13
level 7
改用print就不会了
2009年09月01日 02点09分 14
1