Utilizamos cookies propias y de terceros para mejorar la experiencia de navegación, y ofrecer contenidos y publicidad de interés. Al continuar con la navegación entendemos que se acepta nuestra política de cookies.
Hola.
En tu mensaje no dices si el numero de shapes es fijo o variable. De todas formas lo mejor que puedes hacer es crearlos en el FormCreate del formulario principal y asignarle a cada objeto el evento OnMouseDown, OnMouseUp y OnMouseMove y controlar el movimiento de cada uno de ellos. No tengo el Delphi por aqui ahora (estoy en la universidad) pero sería algo tal que así:
en el Formcreate
for c:=0 to 100 do begin
S:=Tshape.Create(self);
S.OnMouseDown:=ShapeMouseDown;
S.OnMouseUp:=ShapeMouseUp;
S.OnMouseMove:=ShapeMouseMove;
end;
con los eventos ShapeMouseDown y ShapeMouseUp gestionas donde has hecho click y donde has soltado el raton
luego en el evento ShapeMouseMove sería algo así como