Hallo zusammen,
ich habe da ein Edit Feld (Edit1)auf einem Panel(Fanel1). Das Panel befindet sich auf einem Formular (Form1).
Edit1->Parent = Panel1.
In dem OnMouseDopwn-Event von Edit1 möchte ich nun das Edit1 vom Panel1 'lösen und direkt auf das Formular setzen, also
Edit1->Parent = Form1
Nun muß ich ja die Left und Top Eigenschaften anpassen. Laut Hilfe stelle ich mir das wie folgt vor:
TPoint *P;
P=TPoint(Edit1->Left,Edit1->Top);
Edit1->Parent = Form1;
P = Form1->ScreenToClient( Edit1->CientToScreen(P) );
Edit1->Left = P.x;
Edit1->Top = p.y;
Leider funktioniert das nicht. Das Edit feld erscheint irgendwo auf dem Formular, nur nicht da wo es sein sollte. Habe mir mit dem Debugger auch schon die Koordinaten angeschaut, sehe aber kein Muster was mich zu einer Lösung bringen würde.
Weiß vielleicht jemand was ich falsch mache bzw. wo mein Denkfehler liegt?
Danke
Manfred
ich habe da ein Edit Feld (Edit1)auf einem Panel(Fanel1). Das Panel befindet sich auf einem Formular (Form1).
Edit1->Parent = Panel1.
In dem OnMouseDopwn-Event von Edit1 möchte ich nun das Edit1 vom Panel1 'lösen und direkt auf das Formular setzen, also
Edit1->Parent = Form1
Nun muß ich ja die Left und Top Eigenschaften anpassen. Laut Hilfe stelle ich mir das wie folgt vor:
TPoint *P;
P=TPoint(Edit1->Left,Edit1->Top);
Edit1->Parent = Form1;
P = Form1->ScreenToClient( Edit1->CientToScreen(P) );
Edit1->Left = P.x;
Edit1->Top = p.y;
Leider funktioniert das nicht. Das Edit feld erscheint irgendwo auf dem Formular, nur nicht da wo es sein sollte. Habe mir mit dem Debugger auch schon die Koordinaten angeschaut, sehe aber kein Muster was mich zu einer Lösung bringen würde.
Weiß vielleicht jemand was ich falsch mache bzw. wo mein Denkfehler liegt?
Danke
Manfred
Comment