Форум: "Начинающим";
Текущий архив: 2012.01.29;
Скачать: [xml.tar.bz2];
ВнизКлонировать компонент в runtime. Найти похожие ветки
← →
Бездомный (2011-10-17 17:20) [0]К примеру есть на форме кнопка Button1:TButton. и есть переменная VarButton2:TButton. Как в VarButton2 создать копию Button1? (за исключением имени конечно).
Можно не копию именно Button1, а клона на основе того, что в dfm о Button1 хранится.
← →
Медвежонок Пятачок © (2011-10-17 17:25) [1]зачем?
если отличаться будет только имя.
← →
Бездомный (2011-10-17 17:27) [2]
> Медвежонок Пятачок © (17.10.11 17:25) [1]
Впоследствии я его сдвигаю и меняю Tag - этого достаточно.
← →
stas © (2011-10-17 17:28) [3]1. В поток можно считать настройки компонента, потом эти настройки из потока выгрузить в компонент
← →
Медвежонок Пятачок © (2011-10-17 17:28) [4]ну и зачем.
зачем клонировать, а затем менять свойства, если можно просто создать и выставить свойства?
клонировать зачем?
← →
stas © (2011-10-17 17:29) [5]2. Можно создать класс TMyButton= Class(TButton) и все настройки внести в него.
← →
Бездомный (2011-10-17 17:30) [6]
> Медвежонок Пятачок © (17.10.11 17:28) [4]
Чтобы не заморачиваться со свойствами.
← →
Бездомный (2011-10-17 17:31) [7]Да и для общего развития.
> stas © (17.10.11 17:28) [3]
> 1. В поток можно считать настройки компонента, потом эти
> настройки из потока выгрузить в компонент
Вот это интересно, поищу как это делается
← →
Медвежонок Пятачок © (2011-10-17 17:39) [8]Чтобы не заморачиваться со свойствами.
кроме тэга и смещения по top/left остается аж целый капшон.
мороки выше глоовы конечно.
← →
Бездомный (2011-10-17 17:45) [9]
> Медвежонок Пятачок © (17.10.11 17:39) [8]
якоря еще, всякие параметры (для других типов), например NumbersOnly или Items для ComboBox-a
← →
Бездомный (2011-10-17 18:22) [10]Сделал примерно так:
var
C: TControl;
MS:TMemoryStream;
begin
MS := TMemoryStream.Create;
try
MS.WriteComponent(textOrButton);
MS.Position := 0;
C := TControlClass(textOrButton.ClassType).Create(FSurrogat);
MS.ReadComponent(C);
C.Name := "";
C.Parent := textOrButton.Parent;
C.Top := C.Top + C.Height + 8;
finally
MS.Free;
end;
end;
Прошу попинать.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2012.01.29;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.003 c