Форум: "Базы";
Текущий архив: 2002.07.25;
Скачать: [xml.tar.bz2];
ВнизИзменение значений свойств у Components Найти похожие ветки
← →
FilSM (2002-07-02 11:40) [0]Есть форма с заранее неизвестным набором компонентов. Необходимо
в RunTime изменять их свойства Visible, Enabled, ReadOnly и т.д.
Каким способом можно это сделать?
← →
Леша (2002-07-02 12:02) [1]for i:=0 to Form1.ComponentCount-1 do
begin
//В зависимости от свойства объекта нужно приводить к определенному классу. То есть если у класса TComponent есть свойство ReadOnly, а класс объекта находится в одной иерархии с TComponent можно привести к нему если нет надо дальше по иерархии искать другой общий класс. Если изменяются свойства специфичные для компонентов, тогда надо приводить к классу компонента. Правда перед этим надо проверять является ли объект порождением данного класса.
(Form1.Componentsi[i] as TXxxxx).XXXX=value;
end;
Или можно у однотипных объектов проставить свойство Tag
Например у Labelx 1, Editx 2
Тогда
for i:=0 to Form1.ComponentcCount-1 do
begin
case (Form1.Components[i] as TComponent).Tag of
1:(Form1.Components[i] as TLabel).Caption:="";
2:(Form1.Components[i] as TEdit).Text:="";
end
end;
← →
mike kouzmine (2002-07-03 16:51) [2]if (Components[i] is TLabel) and (Components[i] is TLabel).Name = "Label1") then
begin
end
else if и т.д.
← →
mike kouzmine (2002-07-03 16:51) [3]if (Components[i] is TLabel) and (Components[i] as TLabel).Name = "Label1") then
begin
end
else if и т.д.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.07.25;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.005 c