Drag and Drop (Label)

Odpowiedz Nowy wątek
Leszcz
2005-05-08 17:52
Leszcz
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 narazie 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;

Pozostało 580 znaków

2005-05-10 22:14

Rejestracja: 16 lat temu

Ostatnio: 10 lat temu

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..


<font color="red">Konto porzucone</span>

Dzięki wszystkim forumowiczom za lata wspólnych dyskusji; miłej zabawy w programowanie!
Sławomir 'Szczawik' Włodkowski

Pozostało 580 znaków

Odpowiedz

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