Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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
1-1118433780
Antol
2005-06-11 00:03
2005.07.11
игра


14-1118060340
Digitman
2005-06-06 16:19
2005.07.11
вновь об IntraWeb 5.0.43 ..


1-1118494123
bma_ru
2005-06-11 16:48
2005.07.11
Динамические массивы в dll


1-1118920806
olevacho
2005-06-16 15:20
2005.07.11
невидимое приложение


1-1119595488
sb
2005-06-24 10:44
2005.07.11
Как запряч GPU параллельно с CPU в расчетной задаче





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский