Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > Flex

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 22.02.2011, 03:35
Freedom77 вне форума Посмотреть профиль Отправить личное сообщение для Freedom77 Найти все сообщения от Freedom77
  № 1  
Ответить с цитированием
Freedom77

Регистрация: Jun 2010
Сообщений: 69
По умолчанию Доступ к динамически созданной компоненте

Как обратиться к динамически созданной компоненте для добавления дочерних элементов.
Код AS3:
var vs:ViewStack= new ViewStack;
vs.id=MyVS;
for (i=1; i<=event.result.length; i++)
				{nav= new NavigatorContent;
				        vgroup=new VGroup;	
					nav.id="navigator_"+i.toString();
					nav.name="navigator_"+i.toString();
					vgroup.name="vgroup_"+i.toString();
					nav.addElement(vgroup);
					MyVS.addChild(nav);
 
				}
Все бы ничего, присвоил id и обращайся по id или name. Но возникает проблема. Напрямую в коде id не прописать, так как заранее не знаю какая именно компонента будет нужна (для работы функции) да если точно знать, то просто написав id не получиться, так как Builder будет ругаться на отсутствие такой компоненты. Хотя она и создается при работе программы.
Можно получить необходимый NavigatorContent, например navigator_5;
Код AS3:
var targetObj:Object = MyVS.getChildByName("navigator_5");
затем добавить в него нужную компоненту
Код AS3:
var btn:Button = new Button;
targetObj.addElement(btn);
Но проблема в том, что нужно добавить не в NavigatorContent (navigator_5), а в VGroup (vgroup_5) находящийся в navigator_5.
Подскажите как обратиться к компоненте vgroup_5 для добавления других объектов в него.
P.S.: Просто добавить в navigator_5 необходимый VGroup не получается, так как он накапливается в ходе работы программы, а не нажатием одной кнопки, т.е. добавлять компоненты по мере необходимости.


Последний раз редактировалось Freedom77; 22.02.2011 в 03:37.
Старый 22.02.2011, 09:00
Silicium вне форума Посмотреть профиль Отправить личное сообщение для Silicium Найти все сообщения от Silicium
  № 2  
Ответить с цитированием
Silicium
 
Аватар для Silicium

Регистрация: Sep 2010
Адрес: Ростов-на-Дону
Сообщений: 369
var targetObj:Object = MyVS.getChildByName("navigator_5"); точно так же чем не вариант?
Код AS3:
var targetVGroup:Vgroup = (MyVS.getChildByName("navigator_5") as NavigatorContent).getChildByName("vgroup_5") as VGroup;
А вообще какая задача стоит? что-то мне кажется все это проще должно решаться.

Старый 22.02.2011, 11:14
Freedom77 вне форума Посмотреть профиль Отправить личное сообщение для Freedom77 Найти все сообщения от Freedom77
  № 3  
Ответить с цитированием
Freedom77

Регистрация: Jun 2010
Сообщений: 69
Задача следующая: В ViewStack динамически создаются NavigatorContent. Внутри каждого NavigatorContent так же динамически создается Vgroup. Необходимо иметь возможность добавлять в различные Vgroup другие компоненты.
var targetObj:Object = MyVS.getChildByName("navigator_5");
targetObj = targetObj.getChildByName("vgroup_5"); не проходит.

Создать новую тему Ответ Часовой пояс GMT +4, время: 23:58.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 23:58.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.