procedure TForm1.Button1Click(Sender: TObject);
var
  bit:Tbitmap;
  rec:Trect;
begin
  rec.Left:=0;
  rec.Top:=0;
  rec.Right:=width;
  rec.Bottom:=height;
  bit:=Tbitmap.Create;
  if form1.OpenPictureDialog1.Execute then
  begin
    bit.LoadFromFile(form1.OpenPictureDialog1.FileName);
    form1.Canvas.StretchDraw(rec,bit);
    bit.FreeImage;
    end;
end;end.
为什么有窗口遮住后图片便失去了被遮部分?

解决方案 »

  1.   

    是这样的 你需要在窗口关掉后,调用一下form.repaint
      

  2.   

    Width和height默认的当然是窗口的width,和height,窗口变化,当然rec也要变化,放缩的范围始终只在窗口范围内。
      

  3.   

    问题依然!我在FORM的ONCLOSE中添加了form.repaint还是不行!!!!!!!!!
      

  4.   

    把以上代码写到Form.OnPaint中,OnPaint中根据一标志变量的值确定是否重画!Button1.OnClick中只改变该标志变量的值!