![]() |
|
||||||||||
|
|
|
|||||
|
Регистрация: Sep 2006
Сообщений: 33
|
здравствуйте.
на сцене динамически создается несколько клипов, в каждом текстовое поле и стандартный comboBox. Клипы выстраиваются в ряд по вертикали сверху вниз. В итоге получается что предыдущий comboBox выпадает под последующий (уровнем ниже). подскажите как сделать, чтобы при фокусе на комбобокс, родительский клип становился выше всех остальных клипов на сцене. не работает ![]() |
|
|||||
|
Регистрация: Feb 2008
Сообщений: 560
|
Попробуйте создавать их в обратном порядке и размещать снизу вверх.
|
|
|||||
|
Регистрация: Sep 2006
Сообщений: 33
|
спасибо за ответ, но у меня данные для комбобоксов берутся из xml файла...его потом будет править пользователь....и все данные в обратном порядке заполнять не айс
еще варианты есть у кого-нибудь? |
|
|||||
|
Регистрация: Feb 2008
Сообщений: 560
|
Я и не предлагаю указывать их в обратном порядке в XML, я предлагаю парсить XML в обратном порядке, или парсить в прямом, заносить в массив и создавать "с конца".
|
|
|||||
|
Модрон-ветеринар
|
Для ComboBox используем событие open, а не focusIn (последнее происходит почему-то только после отпускания мыши):
var lastDepth:Number = this.getNextHighestDepth(); //последний свободный запоминаем var cbListener:Object = new Object(); cbListener.open = function(evt_obj:Object) { var cb:Object = evt_obj.target ; //ссылка на комбобокс, в котором начал открываться выпадающий список var mc:MovieClip = cb._parent ; //ссылка на родительский мувик mc.swapDepths(lastDepth); //переводим мувик с комбобоксом на самый верх }; . . . //в процессе добавления мувиков с комбобоксами вешаем слушателя, (предполагаю, что комбобокс имеет имя cb) mc1.cb.addEventListener('open', cbListener); //можно попробовать использовать событие focusIn, но оно почему-то срабатывает даже позже, чем open mc2.cb.addEventListener('open', cbListener); mc3.cb.addEventListener('open', cbListener); . . . Последний раз редактировалось mooncar; 23.06.2010 в 11:23. |
|
|||||
|
Регистрация: Sep 2006
Сообщений: 33
|
у меня не сработало
![]() прилагаю исходник...может я не правильно делаю |
|
|||||
|
Модрон-ветеринар
|
На высоких уровнях, получаемых с помощью getNextHighestDepth и при программном добавлении комбо-боксов swapDepth тут срабатывает, но визуально этот факт для комбо-боксов в этом проекте почему-то не работает корректно.
Есть простое решение. Убираем слушателя и swapDepths, убираем getNextHighestDepth при добавлении контейнеров и вывод нового пустого клипа делаем на малые уровни, равные номеру шага цикла - все работает вроде бы верно само по себе, автоматически, с помощью встроенного диспетчера уровней, видимо. Вообще с компонентами, точнее когда они есть в библиотеке, swapDepths в проекте часто не работает ожидаемо. Последний раз редактировалось mooncar; 23.06.2010 в 21:46. |
|
|||||
|
Регистрация: Sep 2006
Сообщений: 33
|
огромное спасибо за помощь
![]() |
![]() |
![]() |
Часовой пояс GMT +4, время: 23:50. |
|
|
« Предыдущая тема | Следующая тема » |
|
|