Transmettre des propriétés d'un control vers un autre

uses
TypInfo;

function CloneProperty(SourceComp, TargetComp: TObject;
Properties: array of string): Boolean;
var
i: Integer;
begin
Result := True;
try
for i := Low(Properties) to High(Properties) do
begin
if not IsPublishedProp(SourceComp, Properties[I]) then Continue;
if not IsPublishedProp(TargetComp, Properties[I]) then Continue;
if PropType(SourceComp, Properties[I]) <> PropType(TargetComp, Properties[I]) then
Continue;
case PropType(SourceComp, Properties[i]) of
tkClass:
SetObjectProp(TargetComp, Properties[i],
GetObjectProp(SourceComp, Properties[i]));
tkMethod:
SetMethodProp(TargetComp, Properties[I], GetMethodProp(SourceComp,
Properties[I]));
else
SetPropValue(TargetComp, Properties[i], GetPropValue(SourceComp, Properties[i]));
end;
end;
except
Result := False;
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
if CloneProperty(Button1, Button2, ['Left', 'Font', 'PopupMenu', 'OnClick']) then
ShowMessage('OK');
end;
Ajouter un commentaire
Pseudo
Adresse email
Site internet (optionnel)
Votre commentaire
Fiche de l'article
Mise a jour11/05/2003
VisualisationVu 1955 fois
PublicInternaute zz
CategorieDelphi - Trucs et astuces - Objet
Auteur de l'article
arachnosoft arachnosoft
connecté le 02/11/2011
1 articles dans la section
Contacter l'auteur