Главная страница
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.014 c
6-1212600148
Real
2008-06-04 21:22
2010.02.21
TWebBrowser - организовать preview html-кода


2-1261232671
Pup
2009-12-19 17:24
2010.02.21
Движение по синусоиде


2-1261380806
JohnKorsh
2009-12-21 10:33
2010.02.21
Вопрос по компоненту UDPServer (INDY).


1-1238062630
EgorovAlex
2009-03-26 13:17
2010.02.21
Обработка Mouse Wheel: как это сделать корректно? Вот в Бате это


2-1261136409
Who_is_you?
2009-12-18 14:40
2010.02.21
Выход по времени ожидания