Drag and Drop, erkennen wo die Picture Box ist?
-
Hi,
ich möchte in Visual C++ 2008 ein Prog schreiben, mit dem ich PictureBoxen verschieben kann. Aber nicht frei sondern nur, wenn die Box über einer anderen eigens dafür vorgesehenen Box ist.
Also eine Box will ich rumschieben können. und wenn sie nicht über einer (bestimmten) anderen Box liegt soll sie wieder an ihre ursprungsposition zurückspringen.ich bin so weit:
private: System::Void pb1_MouseDown(System::Object^ sender, System::Windows::Forms::MouseEventArgs^ e) {
isDragging = true;
currentX = e->X;
currentY = e->Y;
startX=pb1->Left;
startY=pb1->Top;
}private: System::Void pb1_MouseMove(System::Object^ sender, System::Windows::Forms::MouseEventArgs^ e) {
if (isDragging) {
pb1->Top = pb1->Top + (e->Y - currentY);
pb1->Left = pb1->Left + (e->X - currentX);
}
}private: System::Void pb1_MouseUp(System::Object^ sender, System::Windows::Forms::MouseEventArgs^ e) {
isDragging = false;
pb1->Left = startX;
pb1->Top = startY;
}ich habe noch eine PictureBox (pb5) wo, wenn die andere Box über der pb5 geschoben wird und losgelassen wird die box sich auf die pb5 legen soll. ansonsten soll sie zu ihrer ursprungsposition zurück.
Eig fehlt mir nur das "Event" was guckt, ob ich gerade mit der gezogenen pb1 über der anderen bin und dann die Werte startX & startY entsprechen verändert.
Aber welches ist das, bzw. wie kann man das so realisieren.
Ich habe schon MouseHover probiert. Aber das geht nur, wenn man so mit der Maus darüber ist. nicht wenn man mit der Maus was zieht.answer