请教!
我在画布上画了图线,有窗口盖住之后,再看,线就不见了,怎么才能让它保持住呢?

解决方案 »

  1.   

    抢分了:
    TForm1=class(TForm)
      pvivate
        procedure DrawBGD(aCanvas:TCanvas);
    ............
    procedure TForm1.DrawBGD(aCanvas:TCanvas);
    var
     bmp:TBitmap;
    begin
     bmp:=TBitmap.Create;
     try
      bmp.Width:=aCanvas.Width;
      bmp.Height:=aCanvas.Height;
      with bmp.Canvas do
      begin
       //在这个bmp里操作。。画图
       Brush.color:=clblue;
        FillRect(Rect(0,0,100,100);
      //..........
      end;
      //把图贴到要显示的地方去;
      aCanvas.Draw(0,0,bmp);
     finally
      bmp.Free;
    end;
    end;
    //把这个过程放到窗体的OnPaint事件中去。
    procedure TForm1.OnPaint(Sender:TObject);
    begin
      DrawBGD(Form1.Canvas);
    end;
      

  2.   

    哈哈
    上面的抢了,我就不写了
    主要是 画图的代码要写在窗体的OnPaint事件里面
      

  3.   

    最简单的方法(不推荐)是在窗体上加个TImage,用它的canvas代替。