Текущий архив: 2005.07.11;
Скачать: CL | DM;
ВнизControls на панели(TPanel) Найти похожие ветки
← →
Oleg2 (2005-06-16 14:08) [0]Добрый день уважаемые мастера.
Вопрос к вам такой:
Вот скажем если на форме расположены какие-то компоненты,
то, чтобы обратиться к свойству каждого компонента можно
воспользоваться свойством формы Components к примеру
Form1.Components[index].свойство, а вот если компоненты
находятся на панели (TPanel) можно ли както перебрать их
скажем в цикле for? Есть ли такая возможность?
Оговорюсь сразу, FindComponent не подходит - имена различаются.
← →
Digitman © (2005-06-16 14:11) [1]точно так же
Panel.Components[index].свойство
← →
Гаврила © (2005-06-16 14:18) [2]Насколько я помню, все таки если компонент положен мышкой в дизайн-тайм на панель, то овенром у него все равно будет форма, и он попадет в список Components именно формы.
Другое дело Controls - да, они будут присутствовать в списке Controls панели, на которой находятся
← →
Юрий Зотов © (2005-06-16 14:23) [3]> Oleg2
У визуальных компонентов (контролов) есть владелец (Owner) и родитель (Parent). Это вещи совершенно разные (Owner отвечает за уничтожение подчиненных компонентов, Parent - за их расположение и отрисовку). Список Components содержит те компоненты, Owner"ом которых является данный компонент, а список Controls - компоненты, Parent"ом которых является данный компонент. Если контрол был размещен в design-time на панели (или GroupBox"е и пр.), то эта панель (или GroupBox и пр.) является его Parent"ом, но его Owner"ом все равно будет форма. Поэтому цикл for по списку Components формы (а не панели!) переберет все компоненты, размещенные на этой форме в design-time.
Где бы эти компоненты ни находились - хоть на панелях, хоть еще где угодно.
← →
Oleg2 (2005-06-16 14:29) [4]Да они относятся именно к форме, Гаврила прав.
Господа, огромное вам спасибо.
← →
Oleg2 (2005-06-16 14:31) [5]Юрию зотову отдельное Большое спасибо.
← →
Ega23 © (2005-06-16 14:31) [6]
for i:=0 to Panel1.ControlCount-1 do
if (Panel1.Controls[i] is TEdit) then
TEdit(Panel1.Controls[i]).Text:="Ля-ля-ля";
А вообще - см. Юрий Зотов © (16.06.05 14:23) [3]
← →
Oleg2 (2005-06-16 14:32) [7]Прошу прощения,
Юрию Зотову отдельное Большое спасибо.
← →
Oleg2 (2005-06-16 14:33) [8]Ещё раз всем ответившим господам - большое спасибо.
← →
Гаврила © (2005-06-16 14:40) [9]
> [3] Юрий Зотов ©
> Это вещи совершенно разные (Owner отвечает за уничтожение
> подчиненных компонентов, Parent - за их расположение и отрисовку)
Юр ,а ты кстати в курсе, что Parent также отвечает за уничтожение?
:-))
← →
Юрий Зотов © (2005-06-16 14:48) [10]> Гаврила © (16.06.05 14:40) [9]
Гы... слышал когда-то... лет около 10 назад...
:о)
Страницы: 1 вся ветка
Текущий архив: 2005.07.11;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.038 c