Registriert seit: 17. Mär 2005
188 Beiträge
|
Re: Canvas Rectangle mit MouseMove, MouseDown und MouseUp
12. Aug 2005, 15:58
tada
Delphi-Quellcode:
var
moused:TPoint;
current:TPoint;
procedure TForm1.PaintBoxMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
moused.x:=x;
moused.y:=y;
current.x:=x;
current.y:=y;
end;
procedure TForm1.PaintBoxMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer); // Alternativ ImageMouseMove o.ä.
begin
if SSLeft in Shift then imgpaint(pmnotxor,current.X,current.Y);
current.x:=x;
current.y:=y;
if SSLeft in Shift then imgpaint(pmnotxor,current.x,current.y);
end;
procedure TForm1.imgpaint(mode:TPenMode;x,y:Integer);
begin
PaintBox.canvas.Pen.Mode:=mode; // Wieder Image.Canvas o.ä.
PaintBox.Canvas.Rectangle(moused.x,moused.y,x,y);
end;
Hat den Vorteil, dass du auch noch ruckzuck andere Sachen wie Dreiecke, Rauten, Striche etc einfügen kannst.
|
|
Zitat
|