Cette solution marche.
Elle nécessite deux variables globales, mais ça fonctionne.
public: // Déclarations utilisateur
bool Deplacement;
int XPos, YPos;
void __fastcall TForm1::Image1MouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift,
float X, float Y)
{
XPos = X;
YPos = Y;
if (Shift.Contains(ssLeft)) Deplacement = true;
}
void __fastcall TForm1::Image1MouseMove(TObject *Sender, TShiftState Shift, float X,
float Y)
{
if ( Deplacement == true )
{
Image1->Position->X += X-XPos;
Image1->Position->Y += Y-YPos;
}
}
void __fastcall TFor:lol:m1::Image1MouseUp(TObject *Sender, TMouseButton Button, TShiftState Shift,
float X, float Y)
{
Deplacement = false;
}