|
16.09.2004, 10:24 | #1 |
Участник
|
Типы элементов управления на форме
Как в runtime узнать типы элементов управления на форме (FormControl), в том числе и динамически созданных?
|
|
05.04.2007, 14:09 | #2 |
Участник
|
Мысль хорошая! но...
во первых, у меня срабатывает только при for (i = 1; i <= formRun.design().controlCount(); во вторых, дополнительный вопрос: а как перебрать контролы, которые содержатся в дрогом котроле, например в Tab содержатся Fields. Делать как-то рекурсию? Последний раз редактировалось valentino; 05.04.2007 в 14:12. |
|
05.04.2007, 14:17 | #3 |
Участник
|
про 'i=' - извиняюсь, правил текст из форума, в реале не проверил
дык контролы сначала содержатся на форме, а потом в табе. отсюда смена задачи - отобразить контролы в иерархической структуре, как в AOT.... задача вроде как решается посредством каких-нидь парентов (предварительная сборка в контайнере, выборочный перебор.......) |
|
05.04.2007, 14:41 | #4 |
Участник
|
можешь привести примерчик парент - чилд?
дело в том что если у меня на форме один Tab и один ButtonGroup, в табе есть 2 закладки, в первой закладке грид, на второй - 10 полей; а в ButtonGroup - 5 кнопок, то твой пример выдает только 2 результата: Tab и ButtonGroup, т.е. 2 парента. А хочу еще и все поля просмотреть которые находятся на 2й закладке таба, и все кнопки которые находятся в ButtonGroup. |
|
05.04.2007, 14:47 | #5 |
Участник
|
Тип элемента еще можно определять как c.handle();
А про перебор узлов формы - посмотри класс TreeNodeTraverser |
|
05.04.2007, 15:25 | #6 |
Участник
|
А чего бы не посмотреть как \Forms\SysSetupForm строит дерево (это форма, которая вызывается при Правая кнопкаъ\Настройка)
|
|
|
|