不使用Timer,怎样在自己的控件中定时做一些事情?(10分)

  • 主题发起人 主题发起人 emildy
  • 开始时间 开始时间
TThread + GetTickCount
or
TThread + now
 
不用TTimer多麻烦,为什么不用它?
 
var time1,time2:integer;
implimention
...
procedure one;
begin
time1 := getTickCount;
{do something else}
end;
procedure two;
begin
time2 := gettickcout;
if ((time2-time1) > yourDefineTime) then
{you code here}
end;
 
OnIdle和GetTickCount
 
hehe,Timer好像是使用窗口过程截获WM_TIMER消息实现的...
 
比如说,我要在一个GraphicControl上每隔一些时间画一次,
当然,我可以用GraphicControl和Timer两个控件来实现,
那么,能不能将两个合并成一个呢?
 
可以加循环在,循环体中控制间隔的时间(Sleep()),另外,注意将控制权返还给操作系统
用(Application.ProcessMessage);不过性能很不稳定.
 
多人接受答案了。
 
后退
顶部