如何解决控件的闪烁?(5分)

  • 主题发起人 主题发起人 delnus
  • 开始时间 开始时间
D

delnus

Unregistered / Unconfirmed
GUEST, unregistred user!
我写了一个控件:TColck=Class(TShape),它的文本是系统的时间,可是在设计期和运行期
每隔5秒钟左右,发生闪烁的问题,请问如何解决?
下面是部分代码:
FTimer.OnTimer:=TimeProc;
procedure TClock.TimeProc(Sender: TObject);
begin
GetCaption;
Invalidate;
end;
function TClock.GetCaption: String;
begin
Result:=TimeToStr(Time);
end;

 
你可以试一试beginupdate和endupdate。delphi的一些控件使用了这种方法,它可以有效的阻止控件在数据更新的过程当中出现的闪烁。
比如说listview,listbox就使用了,你可以看看它们的源码,方法是按住ctrl然后再在方法或事件上点击鼠标左键,就会自动跳到相应的源代码处。
 
doublebuffered
 
后退
顶部