Drag and Drop (Label)

0

Może kto mi pomoże. Chcę przeciągnąć Label, który znajduje się GroupBox i upuścić go na Panel, który znajduje się dodatkowo na jeden z zakładaek komponentu PageControl.
W sumie droga Labela (komponenty nad którymi przechodzi :>)jest następująca: GroupBox ---> Form ---> PageControl ---> TabSheet ---> Panel :d

Jak na razie mam tak:

procedure TForm1.Label1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if ssLeft in Shift then
TLabel(Sender).BeginDrag(FALSE);
end;

procedure TForm1.Panel1DragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
begin
Accept := (Source is TLabel);
end;

procedure TForm1.Panel1DragDrop(Sender, Source: TObject; X, Y: Integer);
begin
if (Source is TLabel) then
with (source as TLabel) do
begin
left:=x;
top:=y;
end;
end;

0
Leszcz napisał(a)

procedure TForm1.Panel1DragDrop(Sender, Source: TObject; X, Y: Integer);
begin
if (Source is TLabel) then
with (source as TLabel) do
begin
left:=x;
top:=y;
end;
end;

Dopisz jeszcze:

parent:=Panel1;  // <- przesuń Label na Panel, by wyrażać x, y względem Panel1

Wtedy działa OK..

1 użytkowników online, w tym zalogowanych: 0, gości: 1