Hola.
Se me ocurre otra forma de mover las imágenes dentro del ScrollBox. Pero no utilizando los eventos
OnDragOver y
OnDragDrop como en el código de tu primer mensaje. Por medio de aquellos, veo difícil solucionar el efecto del ícono de prohibición.
Tal vez esta propuesta se ajuste mas a lo que estas buscando:
Código:
bool Moving;
void __fastcall TForm1::ControlMouseDown(TObject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y)
{
Moving = Shift.Contains(ssCtrl);
}
void __fastcall TForm1::ControlMouseMove(TObject *Sender, TShiftState Shift,
int X, int Y)
{
TControl *Ctrl = static_cast<TControl*>(Sender);
if (Moving) {
Ctrl->Left = X + Ctrl->Left;
Ctrl->Top = Y + Ctrl->Top;
}
}
void __fastcall TForm1::ControlMouseUp(TObject *Sender, TMouseButton Button,
TShiftState Shift, int X, int Y)
{
Moving = false;
}
Asigna los eventos al/los controles que desees mover (Images en tu caso).
Saludos.