procedure TForm1.Panel1DragDrop(Sender, Source: TObject; X, Y: Integer);
begin
if (Source is TButton) then
begin
with Source as TButton do
begin
Left := X;
Top := Y;
end;
end;
end;
procedure TForm1.Panel1DragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
begin
if Source is TButton then Accept := True;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
with TButton.Create(Self) do
begin
Parent := Panel1;
Top := Panel1.Top + 5;
Left := Panel1.Left + 5;
DragMode := dmAutomatic;
Caption := 'Test';
end;
end;