A
angshuangxi
Unregistered / Unconfirmed
GUEST, unregistred user!
在界面上加一个TImage和两个按钮
程序如下:
procedure TForm1.Button1Click(Sender: TObject);
var
fRect:TRect;
begin
Image1.Width :=100;
Image1.Height :=100;
fRect.Left :=0;
fRect.Top :=0;
fRect.Bottom :=Image1.Height
fRect.Right :=Image1.Width;
Image1.Canvas.Brush.Color :=clred;
Image1.Canvas.FillRect(fRect);
end;
procedure TForm1.Button2Click(Sender: TObject);
var
fRect:TRect;
begin
Image1.Width :=200;
Image1.Height :=200;
fRect.Left :=0;
fRect.Top :=0;
fRect.Bottom :=Image1.Height
fRect.Right :=Image1.Width;
Image1.Canvas.Brush.Color :=clBlue;
Image1.Canvas.FillRect(fRect);
end;
我期望的结果是:
点击两个按钮会分别产生两个大小不同,颜色也不同的块,看程序好象应该也是这种结果
运行结果是:如果先点Button2,则出现了我期望的结果,
可是如果先点 Button1,产生的两个块颜色虽然不同,大小却一样,
为什么,怎么解决这个问题,我跟踪了一下,发现点Image2时,控件大小其实发生了变化,可就是好象扩大的部分被截掉了,我百思不的其解,望高手救我一命
程序如下:
procedure TForm1.Button1Click(Sender: TObject);
var
fRect:TRect;
begin
Image1.Width :=100;
Image1.Height :=100;
fRect.Left :=0;
fRect.Top :=0;
fRect.Bottom :=Image1.Height
fRect.Right :=Image1.Width;
Image1.Canvas.Brush.Color :=clred;
Image1.Canvas.FillRect(fRect);
end;
procedure TForm1.Button2Click(Sender: TObject);
var
fRect:TRect;
begin
Image1.Width :=200;
Image1.Height :=200;
fRect.Left :=0;
fRect.Top :=0;
fRect.Bottom :=Image1.Height
fRect.Right :=Image1.Width;
Image1.Canvas.Brush.Color :=clBlue;
Image1.Canvas.FillRect(fRect);
end;
我期望的结果是:
点击两个按钮会分别产生两个大小不同,颜色也不同的块,看程序好象应该也是这种结果
运行结果是:如果先点Button2,则出现了我期望的结果,
可是如果先点 Button1,产生的两个块颜色虽然不同,大小却一样,
为什么,怎么解决这个问题,我跟踪了一下,发现点Image2时,控件大小其实发生了变化,可就是好象扩大的部分被截掉了,我百思不的其解,望高手救我一命