procedure TfrmMain.Timer5Timer(Sender: TObject);
begin
if Notebook1.ActivePage='补偿' then
begin
Refresh;
Image51.Canvas.Brush.Color:= clRed;
Image51.Canvas.Ellipse(0,0,1000,700);
end;
end;
代码如上,不能显示出来
而下面的代码却可以显示出来,问题出在哪里呢?怎么解决呢?谢谢
procedure Tform1.Button1click(Sender: TObject);
begin
Refresh;
Image51.Canvas.Brush.Color:= clRed;
Image51.Canvas.Ellipse(0,0,1000,700);end;
begin
if Notebook1.ActivePage='补偿' then
begin
Refresh;
Image51.Canvas.Brush.Color:= clRed;
Image51.Canvas.Ellipse(0,0,1000,700);
end;
end;
代码如上,不能显示出来
而下面的代码却可以显示出来,问题出在哪里呢?怎么解决呢?谢谢
procedure Tform1.Button1click(Sender: TObject);
begin
Refresh;
Image51.Canvas.Brush.Color:= clRed;
Image51.Canvas.Ellipse(0,0,1000,700);end;
Timer5的interval和enable设了吗?
Notebook1.ActivePage是否是'补偿'
你把 ‘补偿’是否能够正常地被负值。程序没有问题,我在本地画了,应该是你的判断有问题,timer设置多长时间,还有,在什么时候调用timer,要在show之后,不能再create的时候调用,因为还没有初始化!默认timer的Enabled是False;
procedure TForm2.FormShow(Sender: TObject);
begin
Timer1.Enabled:=True;
end;procedure TForm2.Timer1Timer(Sender: TObject);
begin
if Notebook1.ActivePage='Default' then
begin
Refresh;
Image1.Canvas.Create;
Image1.Canvas.Brush.Color:= clRed;
Image1.Canvas.Ellipse(10,10,200,200);
end;
end;
开始画就可以了