Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Flex (http://www.flasher.ru/forum/forumdisplay.php?f=84)
-   -   Обращение к внедрённой общей библиотеке (http://www.flasher.ru/forum/showthread.php?t=149041)

zorexundra 18.01.2011 14:11

Обращение к внедрённой общей библиотеке
 
В IDE FB есть файл Assets.swf с визуальными элементами MX-компонентов, компилирующийся в пользовательский проект. Как обратиться к элементам общей библиотеки во время исполнения приложения?
Например, нужно обратиться к клипу с именем TreeDisclosureOpen, находящимуся в Assets.swf.

Волгоградец 18.01.2011 15:16

Никак не обратиться. Это библиотека, из которой берутся символы. Там они хранятся в виде классов. Если я правильно понял вопрос...

zorexundra 18.01.2011 16:00

Волгоградец, вряд-ли это так. Тотже mx.controls.Tree для своего отображения во время исполнения использует и меняет эти клипы.
Этот вопрос, по сути, ремейк этой темы: http://www.flasher.ru/forum/showthread.php?t=148784

Волгоградец 18.01.2011 17:04

Tree берет символы из Assets.swf в default.css - на этапе компиляции. Поэтому чтобы поменять потом иконки на дефолтные надо либо сохранить ссылку на класс иконки перед присвоением кастомной. Либо взять этот Assets.swf и ручками заэмбедить нужные символы. Потом когда надо - задать нужную иконку в стиле.

zorexundra 18.01.2011 17:47

Цитата:

Сообщение от Волгоградец (Сообщение 965577)
...надо либо сохранить ссылку на класс иконки перед присвоением кастомной. Либо взять этот Assets.swf и ручками заэмбедить нужные символы. Потом когда надо - задать нужную иконку в стиле.

Вы можете пояснить это кодом?

... Вообще, задача у меня стоит сделать стиль всех иконок "TreeDisclosureClosed" и не важно, на этапе компиляции, или runtime.

Волгоградец 18.01.2011 18:05

Могу.
Вариант 1: перед тем как присваиваешь новую иконку, старую сохраняешь таким образом:
Код AS3:

var defOpenIcon:Class = tree.getStyle('folderOpenIcon')

Потом когда надо вернуть старую иконку:
Код AS3:

tree.setStyle('folderOpenIcon', defOpenIcon)

Вариант 2:
Эмбедишь Assets.swf - нужные символы и потом в setStyle задаешь нужную иконку (см. выше). В этом случае не придется сохранять ссылок на старые классы, как в предыдущем примере.

zorexundra 19.01.2011 10:51

Волгоградец, спасибо! То, что нужно!


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

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