Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.02.21;
Скачать: CL | DM;

Вниз

Вопрос про Object Inspector и parent   Найти похожие ветки 

 
cosinus   (2009-12-19 14:02) [0]

Столкнулся с непонятной для меня ситуацией.
Задача: пройтись по всем компонентам, расположенным на одной из панелей (частный случай), которые (судя по Object Inspector) там находятся.
На форме есть панель, на панели PageList, на Page1 расположен GroupBox, а уже на нем в свою очередь куча всяких контролов. Все создавалось в DisignTime, киданием компонентов и установкой их свойств.
В зависимости от условия, мне нужно было выставить Enabled всех Edit-ов, расположенных на GroupBox в True или False.
Обхожу все компоненты на GroupBox - пусто.
Выше на уровень - снова пусто.
Какие-то компоненты проявились только на панели, причем совершенно левые из серии "как бог на душу положит".
Правильно ли я понимаю, что то дерево, которое отображается в Object Inspector не имеет никакого отношения, к реальному положению дел - "кто чей parent"?
Если так, то возможно ли выставить это как-нибудь? кроме как создавать контролы в RunTime, указывая Parent? Или (TControl as что-нибудь).Components[i] вообще к Parent не имеет отношения?

Какая-то разруха в мозгах... Разделите мне мух от котлет, пожалуйста...


 
Юрий Зотов ©   (2009-12-19 17:13) [1]

Есть список Components - он отвечает за то, кто чей Owner. Если компоненты накидывались в design-time, то владельцем всех будет форма (а никакие не панели и не группбоксы).  

Есть список Controls - он отвечает за то, кто чей Parent (кто на ком лежит). Вот он Вам и нужен.

for i := 0 to GroupBox1.ControlCount - 1 do
 if GroupBox1.Controls[i] is TEdit then
   GroupBox1.Controls[i].Enabled := false;


 
cosinus   (2009-12-20 10:56) [2]

Спасибо, теперь все встало на свои места.



Страницы: 1 вся ветка

Текущий архив: 2010.02.21;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.018 c
11-1211897838
Стас
2008-05-27 18:17
2010.02.21
Как присвоить длину поля EditBox переменной?


15-1260653419
Юрий
2009-12-13 00:30
2010.02.21
С днем рождения ! 13 декабря 2009 воскресенье


3-1235132173
AK-87
2009-02-20 15:16
2010.02.21
Редактирование данных в визуальном компоненте без связи с БД


2-1261139465
ford
2009-12-18 15:31
2010.02.21
TIdHTTP и Transfer-Encoding: chunked


3-1234876925
Дукам
2009-02-17 16:22
2010.02.21
Просмотр объектов, привязанных к таблице