Image auf der Form umherschieben
-
Ich hatte vor per Drag&Drop eine Image innerhalb der Form umherzuschieben.
Mein Ansatz ist wohl doch ein bisschen zu einfach.
//--------------------------------------------------------------------------- void __fastcall TForm1::Image1DragDrop(TObject *Sender, TObject *Source, int X, int Y) { Image1->Top = Y; Image1->Left = X; } //---------------------------------------------------------------------------
Die Suchfunktion hat nichts ergeben.
Wie macht man sowas?
-
Hi,
nimm besser das Ereignis MouseMove, da bekommst du ja auch die Maus-Koordinaten.
Dazu bei MouseDown einen Boolschen Wert auf true setzen, der im MouseMove abgefragt wird. Der Bool ist bei MouseUp wieder false.
mfg
kpeter
-
Jo ist echt besser. Hier der Code für die anderen:
//--------------------------------------------------------------------------- void __fastcall TForm1::Image1MouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y) { Dragging = true; DragX = X; DragY = Y; } //--------------------------------------------------------------------------- void __fastcall TForm1::Image1MouseMove(TObject *Sender, TShiftState Shift, int X, int Y) { if(Dragging) { Image1->Left += X - DragX; Image1->Top += Y - DragY; } } //--------------------------------------------------------------------------- void __fastcall TForm1::Image1MouseUp(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y) { Dragging = false; } //---------------------------------------------------------------------------
Vielen dank.