请教TImage的问题? (50分)

  • 主题发起人 主题发起人 shaofun
  • 开始时间 开始时间
S

shaofun

Unregistered / Unconfirmed
GUEST, unregistred user!
在Form1上放一个Image1,Align为alClient;

代码如下:

procedure TForm1.FormResize(Sender: TObject);
begin
Image1.Canvas.MoveTo(0, 0);
Image1.Canvas.LineTo(ClientWidth, ClientHeight);
end;

当Form1变大时,Form1增加的部分就不能显示,直接在Form上绘图就没这问题了,
这是为什么?该怎么解决?
 
用Stretch:=True;试试
 
to wk_knife
那画出来的直线就不象样了
我查了一下,Form的size变化后,Image1的Width和Height是跟着变了,
可Image1.Cancas.ClipRect却没变,问题可能出在这儿,怎么办呢?
 
在image1.opaint事件中上面的语句,一切OK,GOOD LUCKY
 
你真是天真,image有onpaint事件吗?
 
不好意思,忘了,我以前不是用这个控件的
 
你是要求Form的size变了,Image的size也变了,但你画的内容不变?
要是这样的话为什么不把Tmage限定在一个很大的范围之内,然后将Form的滚动条设为false
一般的灰土软件都要设置画布的大小的呀!
 
TIamge一上来创建时就规定好了大小,除非重新创建。

可以使用TPaintBox代替。
 
一个很单单的办法,
在这之前加一名image1.picture.graphic := nil;OK
 
多人接受答案了。
 
后退
顶部