¿Y no sería mejor utilizar el mecanismo de drag&drop que ya implementa Delphi?
1. Se pone la imagen en DragMode = dmAutomatic.
2. A los objetos TShape se les asigna el mismo evento OnDragOver y OnDragDrop.
3. En OnDragOver se pone el parámetro Accept en true para aceptar el arrastre (o se usa algún otro método para determinar si se puede o no soltar ahí la imagen).
4. Ambos eventos cuentan con el parámetro Sender que será el TShape sobre el que se va a soltar la imagen y el parámetro Source que es el objeto que se está arrastrando.
5. En el evento OnDragDrop se usan los parámetros X, Y para determinar la posición donde se suleta la imagen y, en su caso, mover el objeto TImage ahí.
// Saludos
|