labe1.left:=label1.left-1 狂闪~~~~~~~~~~~(50分)

  • 主题发起人 主题发起人 XFL
  • 开始时间 开始时间
X

XFL

Unregistered / Unconfirmed
GUEST, unregistred user!
如果闪,我应该怎么办?
还有,请教delphi中的随机函数怎么使用!
 
加上 DoubleBuffered:= True;
 
我适le
frmcreate 里
还是闪??
 
变化速度太快?
我用定时器控制,每毫秒 加1 ,效果不错哦
 
随机函数,rodom
好像写错了,呵呵
 
难道这是个大问题么?
 
移动不要太快,反而效果差
 
做移动字幕或者窗口动画用控件移动是最笨的方法,结果肯定是狂闪!
只能用画屏。代码我找找贴出来。

至随机函数,如下
begin
randomiz;
i: random(100);
end;
 
//变化速度太快?
//每毫秒 加1
有点夸赃,100HZ无闪烁,1秒100下,(广告上说的还保护眼睛呢),呵呵:)

 
用StaticText试试
 
不要用label 直接把文字写到 canvas上
DoubleBuffered:= True;
Canvas.Brush.Style:=bsClear;
Canvas.TextOut(x,y,'Sample');
 
一个好办法:
 把Label放到Panel上,然后移动panel,保证不会闪.但如果你放的panel是偶数个的话,又会闪了,
Delphi真是奇怪.
 
这种移动方法绝对是不实用的,只能算是一种应急的方法。

或者你可以在Form的OnCreate中加入这么一句:
Form1.DoubleBuffered := true;

就肯定不闪了
 

用panel代替label试试
 
to amakusa
试了,文字是动了。但是最后都是黑糊糊的了!
文字向左一动了,但是原来的还在,都黑了
to www
panel 好像不行!
 
你就添加 Form1.DoubleBuffered := true;
然后还用你以前的代码就可以了。
 
原则上好像只能用屏幕刷新才行~~~~
 
后退
顶部