Mit einen Shape könnte der schwierig werden, da ein Shape kein Canvas besitzt.
Mit einer PaintBox z.B. könnte das so aussehen:
Delphi-Quellcode:
var x,y: integer;
...
procedure TForm1.PaintBox1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
PaintBox1.Canvas.MoveTo(x,y);
end;
procedure TForm1.PaintBox1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if ssleft in shift then PaintBox1.Canvas.LineTo(x,y);
end;