: hr :
11.11.2005, 15:17
Друзья, прошу помощи... Суть проблемы: нужно в процесссе выполнения ролика изменять цветовую схему стандартного компонента ScrollPane.
Согласно описанию в хэлпе (Linking skin color to styles) создаю внутри компонента мувиклипы, регистрирую их в качестве свойств mx.skins.ColoredSkinElement.setColorStyle (this, "symbolArrowUpColor");, далее назначаю им цвета
_global.style.setStyle("symbolArrowUpColor", 0xD9D9D9);
Отсюда несколько вопросов:
1. Почему не получается установить стиль для конкретного экземпляра компонента _root.my_component.setStyle("symbolArrowUpColor", 0xD9D9D9);
2. При установке цвета для множества элементов компонента, т.е. вызове многократно
_global.style.setStyle("элемент который нужно перекрашивать 1", 0xD9D9D9);
_global.style.setStyle("элемент который нужно перекрашивать N", 0xD9D9D9);
и т.д.
отрисовка компонента начинает безбожно тормозить. И об этом сказано в хэлпе If you want to change multiple properties, or change properties for multiple component instances, you can create a custom style. A component instance that uses a custom style for multiple properties will render faster than a component instance with several setStyle() calls.
Однако использовать custom style не получается:
import mx.styles.CSSStyleDeclaration;
var new_style:Object = new CSSStyleDeclaration();
_global.styles.myStyle = new_style;
new_style.setStyle("borderStyle", "none")
new_style.setStyle("элемент который нужно перекрашивать 1", 0xD9D9D9);
my_component.setStyle("styleName", "myStyle");
Работает только ("borderStyle", "none"), а цвет моего зарегестрированного элемента компонента изменить не удается.
Прошу помощи!
Согласно описанию в хэлпе (Linking skin color to styles) создаю внутри компонента мувиклипы, регистрирую их в качестве свойств mx.skins.ColoredSkinElement.setColorStyle (this, "symbolArrowUpColor");, далее назначаю им цвета
_global.style.setStyle("symbolArrowUpColor", 0xD9D9D9);
Отсюда несколько вопросов:
1. Почему не получается установить стиль для конкретного экземпляра компонента _root.my_component.setStyle("symbolArrowUpColor", 0xD9D9D9);
2. При установке цвета для множества элементов компонента, т.е. вызове многократно
_global.style.setStyle("элемент который нужно перекрашивать 1", 0xD9D9D9);
_global.style.setStyle("элемент который нужно перекрашивать N", 0xD9D9D9);
и т.д.
отрисовка компонента начинает безбожно тормозить. И об этом сказано в хэлпе If you want to change multiple properties, or change properties for multiple component instances, you can create a custom style. A component instance that uses a custom style for multiple properties will render faster than a component instance with several setStyle() calls.
Однако использовать custom style не получается:
import mx.styles.CSSStyleDeclaration;
var new_style:Object = new CSSStyleDeclaration();
_global.styles.myStyle = new_style;
new_style.setStyle("borderStyle", "none")
new_style.setStyle("элемент который нужно перекрашивать 1", 0xD9D9D9);
my_component.setStyle("styleName", "myStyle");
Работает только ("borderStyle", "none"), а цвет моего зарегестрированного элемента компонента изменить не удается.
Прошу помощи!