+ -
当前位置:首页 → 问答吧 → delphi在image图片上画随鼠标动态画矩形,怎么消除以前的矩形,不发生重叠

delphi在image图片上画随鼠标动态画矩形,怎么消除以前的矩形,不发生重叠

时间:2011-12-09

来源:互联网

[code=Delphi(Pascal)][/code]
procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  CurrentRect.Left:=x;
  CurrentRect.Top:=y;
end;

procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
  CurrentRect.Right:=x;
  CurrentRect.Bottom:=y;
  if(ssLeft in shift) then
  begin
  Canvas.Brush.Style := bsclear ;
  image1.Canvas.Rectangle(CurrentRect);
  end;
end;
有没有人指点一下,最好能够自已测试一下,网上都说照着重画一下,就可以擦除,感觉还是有些问题,希望谁能够编个测试代码给我看看,谢谢!

作者: wjqzzzy   发布时间: 2011-12-09

if(ssLeft in shift) then
  begin
  image1.picture.Graphic:=nil;
  image1.Parent.DoubleBuffered:=true;
  Canvas.Brush.Style := bsclear ;
  image1.Canvas.Rectangle(CurrentRect);
  end;

作者: kaikai_kk   发布时间: 2011-12-09

热门下载

更多