我通过下面的程序段画线:
with self.canvas do begin
    pen.color:=clBlack;
    pen.width:=2;
    MoveTo (x1,y1);
    LineTo (x2,y2);
end;
现在我要通过点击button后能够擦除原来的线条然后重新画线要如何做?

解决方案 »

  1.   

    对不起,应该是Fill吧;
    不太记了,我给你找一下;
      

  2.   

    应该是这样的吧
    procedure TForm1.ClearCanvas(ACanvas: TCanvas);
    var
      R : TRect;
    begin
      with ACanvas do
      begin
        Brush.Style := bsSolid;
        Brush.Color := ClWhite;
        GetWindowRect(Handle,R);
        R.TopLeft := ScreenToClient(R.TopLeft);
        R.BottomRight := ScreenToClient(R.BottomRight);
        FillRect(R);
      end;
      

  3.   

    将canvas上所有的自己画的图形重画一遍,当然,需要清掉的线最先画,且需要用背景色。