Delphi World - Клонирование свойств элемента управления
Delphi World - это проект, являющийся сборником статей и малодокументированных возможностей  по программированию в среде Delphi. Здесь вы найдёте работы по следующим категориям: delphi, delfi, borland, bds, дельфи, делфи, дэльфи, дэлфи, programming, example, программирование, исходные коды, code, исходники, source, sources, сорцы, сорсы, soft, programs, программы, and, how, delphiworld, базы данных, графика, игры, интернет, сети, компоненты, классы, мультимедиа, ос, железо, программа, интерфейс, рабочий стол, синтаксис, технологии, файловая система...
Клонирование свойств элемента управления

Оформил: DeeCo
Автор: http://www.swissdelphicenter.ch

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;
Проект Delphi World © Выпуск 2002 - 2017
Автор проекта: Эксклюзивные курсы программирования