Drag&Drop simulieren
-
Hallo,
ich habe Panel1 und Panel2 auf meiner Form. Das Panel2 kann ich mit der Maus auf meiner Form verschieben (s.u.), nun möchte ich das Panel2 auf Panel1 "ablegen".
Wie kann ich erreichen, dass bei Panel1 ein Ereignis ausgelöst wird wenn ich "mit" Panel 2 darüber fahre?
Was ich brauche ist eine Art von "Drag & Drop" aber wo gleichzeitig eben das Panel mitbewegt wird und nicht nur ein anderer Mauszeiger angezeigt wird.
TForm1 *Form1; int lastx, lasty; bool b_move = false; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner){} //--------------------------------------------------------------------------- void __fastcall TForm1::Panel2MouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y) { b_move = true; lastx = X; lasty = Y; } //--------------------------------------------------------------------------- void __fastcall TForm1::Panel2MouseUp(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y) { b_move = false; this->DockDrop() } //--------------------------------------------------------------------------- void __fastcall TForm1::Panel2MouseMove(TObject *Sender, TShiftState Shift, int X, int Y) { if ( b_move == true ) { Panel2->Left = Panel2->Left + X - lastx; Panel2->Top = Panel2->Top + Y - lasty; } } //---------------------------------------------------------------------------Danke im Voraus
teaseMe