![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Controls на панели(TPanel) [D6, WinXP]
Oleg2 © (2005-06-16 14:08:00)Добрый день уважаемые мастера.
Вопрос к вам такой:
Вот скажем если на форме расположены какие-то компоненты,
то, чтобы обратиться к свойству каждого компонента можно
воспользоваться свойством формы Components к примеру
Form1.Components[index].свойство, а вот если компоненты
находятся на панели (TPanel) можно ли както перебрать их
скажем в цикле for? Есть ли такая возможность?
Оговорюсь сразу, FindComponent не подходит - имена различаются.
Юрий Зотов (2005-06-16 14:48:00) [1]> Гаврила © (16.06.05 14:40) [9]
Гы... слышал когда-то... лет около 10 назад...
:о)
Гаврила (2005-06-16 14:40:00) [2]
> [3] Юрий Зотов ©
> Это вещи совершенно разные (Owner отвечает за уничтожение
> подчиненных компонентов, Parent - за их расположение и отрисовку)
Юр ,а ты кстати в курсе, что Parent также отвечает за уничтожение?
:-))
Oleg2 (2005-06-16 14:33:00) [3]Ещё раз всем ответившим господам - большое спасибо.
Oleg2 (2005-06-16 14:32:00) [4]Прошу прощения,
Юрию Зотову отдельное Большое спасибо.
Oleg2 (2005-06-16 14:31:00) [5]Юрию зотову отдельное Большое спасибо.
Ega23 (2005-06-16 14:31:00) [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:29:00) [7]Да они относятся именно к форме, Гаврила прав.
Господа, огромное вам спасибо.
Юрий Зотов (2005-06-16 14:23:00) [8]> Oleg2
У визуальных компонентов (контролов) есть владелец (Owner) и родитель (Parent). Это вещи совершенно разные (Owner отвечает за уничтожение подчиненных компонентов, Parent - за их расположение и отрисовку). Список Componentsсодержит те компоненты, Owner'омкоторых является данный компонент, а список Controls- компоненты, Parent'омкоторых является данный компонент. Если контрол был размещен в design-time на панели (или GroupBox'е и пр.), то эта панель (или GroupBox и пр.) является его Parent'ом, но его Owner'ом все равно будет форма. Поэтому цикл for по списку Components формы(а не панели!) переберет всекомпоненты, размещенные на этой форме в design-time.
Где бы эти компоненты ни находились - хоть на панелях, хоть еще где угодно.
Гаврила (2005-06-16 14:18:00) [9]Насколько я помню, все таки если компонент положен мышкой в дизайн-тайм на панель, то овенром у него все равно будет форма, и он попадет в список Components именно формы.
Другое дело Controls - да, они будут присутствовать в списке Controls панели, на которой находятся
Digitman (2005-06-16 14:11:00) [10]точно так же
Panel.Components[index].свойство