Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2005.07.11;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.039 c
8-1110488154
Okez
2005-03-10 23:55
2005.07.11
видео проигрыватель


5-1089345579
Maxim
2004-07-09 07:59
2005.07.11
1.Не визуальная компонента 1. property


1-1119447563
Максим
2005-06-22 17:39
2005.07.11
ListBox, GetShortPathName, exe-file


3-1117179211
AngelSaint
2005-05-27 11:33
2005.07.11
ADO, Access. ошибка при выборе по дате-времени


3-1117141559
highlander
2005-05-27 01:05
2005.07.11
Помогите разобраться с запросом





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский