是只要删除这个矩形吗?如果是那样的话可以用netlib(河外孤星)的方法。如果不管什么东西都要删除,可以用zwd1973(zwd1973)的方法。

解决方案 »

  1.   

    但是在第二次画矩形时候,canvans.style都变了
    都不能回会来。原代码如下:
    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, ExtCtrls, StdCtrls;type
      TForm1 = class(TForm)
        Image1: TImage;
        Button1: TButton;
        procedure Image1MouseDown(Sender: TObject; Button: TMouseButton;
          Shift: TShiftState; X, Y: Integer);
        procedure Image1MouseUp(Sender: TObject; Button: TMouseButton;
          Shift: TShiftState; X, Y: Integer);
        procedure FormCreate(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
        cx,cy:integer;
        flag: boolean;
        Oldimage:Timage;
        
      end;var
      Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    begin
       cx :=x ; //按下时的鼠标坐标
       cy:=y;
       image1.Picture:= Oldimage.Picture;
    end;procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    var
      MyRect:Trect;
    begin
      myrect.Left :=cx;
      myrect.Top :=cy;
      myrect.Right :=x;
      myrect.Bottom :=y;
      image1.Canvas.Rectangle(myrect);
      
     end;
    procedure TForm1.FormCreate(Sender: TObject);begin
        Oldimage:=Timage.Create(self);
        Oldimage.Picture :=image1.Picture  ;
        image1.Canvas.Brush.Style:=bsclear;
        image1.Canvas.Pen.Style :=psdot;
    end;end.