Cloner un composant

{Copie et cree un composant identique à Panel1}

procedure TForm1.Button1Click(Sender: TObject);
const
x: Integer = 0;
y: Integer = 0;
var
ms: TMemoryStream;
s: String;
p, temp: TPanel;
begin
If x = 0 Then begin
x:= panel1.left;
y:= panel1.top;
end;
ms:= TMemoryStream.Create;
try
temp:= panel1;
s := panel1.name;
panel1.name := '';
try
ms.WriteComponent(temp);
//On peut sauvegarder le flux pour une utilisation ultérieure
ms.Position := 0;
p:= TPanel.Create(Self);
ms.ReadComponent(p);
with p do begin
Inc(x, 5);
Inc(y, 5);
SetBounds(x, y, Width, Height);
Parent := Self;
Name := format('Panel%d_%d',[ x, y ]);
end;
finally
temp.name := s;
panel1:= temp;
end
finally
ms.free;
end; { finally }
end;
Ajouter un commentaire
Pseudo
Adresse email
Site internet (optionnel)
Votre commentaire
Fiche de l'article
Mise a jour09/10/2002
VisualisationVu 1692 fois
PublicInternaute zz
CategorieDelphi - Trucs et astuces - Objet
Auteur de l'article
Communauté Delphi Communauté Delphi
connecté le 02/11/2011
0 articles dans la section
Contacter l'auteur