Московский физико-технический институт
Опубликован: 23.12.2005 | Доступ: свободный | Студентов: 2869 / 253 | Оценка: 4.61 / 4.44 | Длительность: 27:18:00
ISBN: 978-5-9556-0051-2
Лекция 11:

Компоненты: готовые и "самодельные"

Еще немного о внутреннем устройстве компонентов

Итак, вы уже кое-что знаете об устройстве стандартных компонентов 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);