这个 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
快樂钚哆 楼主
怎么用API或者DirctX画。我不懂。请教一下。
2007年12月18日 04点12分 4
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
1