有三个label,lable1 用来显示累加的数字,label2显示滑动条的位置,label3显示时钟的interval值
//滑动条事件
procedure TForm1.MyTrackBar1Changing(Sender: TObject;
NewPos: Integer;
var AllowChange: Boolean);
var
time:integer;
begin
label2.Caption := inttostr(NewPos);
//滑动条的位置
time := 10*NewPos;
Timer1.Interval := time;
//改变timer的interval
Label3.Caption := IntToStr(Timer1.Interval);
//timer的interval值
end;
//时钟事件,控制label1的变化
procedure TForm1.Timer1Timer(Sender: TObject);
begin
if i<1000 then
begin
i:= i+1;
label1.Caption := inttostr(i);
//改变的数字
end;
end;
当滑动条滑动时,label2改变,label3改变,label1不变,可以看出来滑动条变化时,timer的interval是实时变化的,但时钟好像是暂停跳动了,label1并不变化,当滑动条停止时,label1才开始变化。
问题是:怎样让label1在滑动条滑动时也能实时变化.
备注:我觉得是在滑动条滑动过程中时钟这个线程被挂起,所以时钟不跳了,在滑动条停止时,时钟线程又开始运行。怎样让他们协调运行以达到我要的效果呢?