为什么在paintbox中画出来的波形 在移动出ScrollBox的的范围后,在paintbox中画的图形被擦除了,
在打开一个新窗体的时候,新窗体挡住图形的部分在关闭新打开的窗体后也会被擦除了
为什么,怎样避免

解决方案 »

  1.   

    procedure TForm1.PaintBox1Paint(Sender: TObject);
    begin
      //你的代码必须在这儿
    end;
      

  2.   

    请试,
    procedure TForm1.PaintBox1Paint(Sender: TObject);
    begin
      with paintbox1.canvas do
      begin
         pen.color :=clred;  
         lineto(100,100)
      end;
    end;
      

  3.   

    你画在paintbox控件上的图形,由于窗体的大小以及被盖住后,windows不负责重新画上,所以为了避免被清楚,变成空白,你只有在它的onpaint事件中写上你要花图形的代码,window会自动调用他的这个事件的。
      

  4.   

    用Chart控件画就可以了.
    for i:=1 to 100 do  Series1.Add(函数(i),'');
      

  5.   

    把你想画的图画在一个内存BMP上,然后在 
    procedure TForm1.PaintBox1Paint(Sender: TObject);
    begin
     //在这里只做贴图操作。
     PaintBox.Canvas.Draw(内存BMP);
                         
    end;
    ..................
    procedure DrawOp;
    var
    bmp:TBitmap
    begin
     bmp:=TBitmap.CReate;
     try
      with Bmp.canvas do
      begin
      //在这里做你的绘画操作,然后在BMP还没有销毁前。把它贴到PAINTBOX上去。之后销毁BMP
      end;
     finallly
     bmp.free;
     end;
    end;