救命啊,为什么在IMAGE下画图会这样?(100分)

  • 主题发起人 主题发起人 hxning
  • 开始时间 开始时间
H

hxning

Unregistered / Unconfirmed
GUEST, unregistred user!
非常简单,但是就是不知道为什么
我打算在一个image下画图,这个image控件是依附在一个panel上的,align是alClient
当第一次填充一个色块(image.canvas.fillrect(rect) 这个色块是当前image的大小),
然后把改变窗口大小(变大),可想而知,image也跟着变大,但是再次填充颜色的时候,
就怎么也填不满,充其量只能是刚才变大前的大小。为什么呢?
 

在OnPaint方法中重画看看
 
procedure TForm1.Panel1Resize(Sender: TObject);
begin
image1.Picture.Graphic:=nil;
image1.canvas.fillrect(image1.canvas.cliprect);
end;
试试。
 
在OnPaint或者onresize事件中添加重画代码!
 
谢谢各位提点。可以结账啦。

不过,我想知道其原理,为什么在我说的那种情况下就不能作图呢?谁可以告诉我
 
后退
顶部