Главная страница
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.011 c
3-1235049122
Ragazor
2009-02-19 16:12
2010.02.21
Вопросы оптимальности и производительности


3-1234936713
тимохов
2009-02-18 08:58
2010.02.21
Как обновлять TAdoTable в одной форме, при изменении в другой?


4-1229181425
SCL
2008-12-13 18:17
2010.02.21
Как скрыть процесс из диспетчера процессов


15-1260369295
xayam
2009-12-09 17:34
2010.02.21
Вопрос по SQL


15-1260792929
@!!ex
2009-12-14 15:15
2010.02.21
Помогите собрать "велосипед"(компилятор)