Беларусь, рогачёв |
Компоненты: готовые и "самодельные"
Еще немного о внутреннем устройстве компонентов
Итак, вы уже кое-что знаете об устройстве стандартных компонентов Flash MX, в том, что касается скинов.
Остановимся отдельно еще на некоторых характерных деталях их реализации, знание этих деталей может быть полезным при модификации этих компонентов для создания собственных библиотек.
Базовый класс - FUIComponent
Все стандартные компоненты Flash MX наследуются от базового класса FUIComponent, который лежит в папке Flash UI Components / Core Assets - Developer Only / FUIComponent Class Tree.
В классе FUIComponent, например:
- определяется стандартная реализация некоторых важных методов, таких, как getEnabled, setEnabled, setStyleProperty (работа со стилями), setSize, invalidate, drawRect (базовые методы по отрисовке компонентов и фокуса);
- закладывается вся реализация по работе с клавиатурным фокусом;
- определяется метод registerSkinElement, обсуждавшийся выше;
- определяется класс FStyleFormat, обсуждавшийся выше.
FLabel
FLabel - это "текстовая" часть всех стандартных компонентов Flash MX. Найти этот символ можно в папке Flash UI Components / Component Skins / Global Skins.
В большинстве конструкторов стандартных компонентов можно найти такой вызов:
this.attachMovie("FLabelSymbol","fLabel_mc",2);
После чего вся работа с текстом осуществляется через поле fLabel_mc.
Например, в методе setLabel класса FPushButtonClass, реализующего кнопку, вы увидите такой вызов:
this.fLabel_mc.setLabel(label);