为什么给Panel设置图形背景后,只要一变动窗口的最小和最大化后就背景就没有了,请问怎么解决这么问题,我是这么设置背景的
var mycanvas:tcanvas;
   bit:TBitmap;
begin
  mycanvas:=TCanvas.Create;
  mycanvas.Handle:=getdc( Panel1.Handle);
  bit:=TBitmap.Create;  //这几步你可以随便了,这里放了一个图
  bit.LoadFromFile('f:\D1.bmp');
  mycanvas.StretchDraw(rect(0,0,Panel1.Width,Panel1.Height),bit);
  mycanvas.Free;

解决方案 »

  1.   

    var mycanvas:tcanvas;
       bit:TBitmap;
    begin
      mycanvas:=TCanvas.Create;
      mycanvas.Handle:=getdc( Panel1.Handle);
      bit:=TBitmap.Create;  //这几步你可以随便了,这里放了一个图
      bit.LoadFromFile('f:\D1.bmp');
      mycanvas.StretchDraw(rect(0,0,Panel1.Width,Panel1.Height),bit);
      mycanvas.Free;
    这个代码是在没有画布的控件上画图的代码,当窗口发生变化后,如果你的代码是写在某个按钮中的,自然就没有了,写在form的onPoint中,就可以了。