Один из способов сделать это, поскольку подкомпоненты RichTextEditor объявлены в MXML и поэтому являются общедоступными, состоит в том, чтобы назначать их свойства styleName
индивидуально во время выполнения (после того, как событие контейнера creationComplete
сработает, чтобы убедиться, что редактор и все его дочерние элементы были созданы), вот так:
<mx:Style>
.myRTECombo
{
color: #FF0000;
}
</mx:Style>
<mx:Script>
<![CDATA[
private function creationCompleteHandler(event:Event):void
{
rte.fontFamilyCombo.styleName = "myRTECombo";
rte.fontSizeCombo.styleName = "myRTECombo";
}
]]>
</mx:Script>
<mx:RichTextEditor id="rte" />
Документы Flex не вызывают субкомпоненты ("boldButton", "fontSizeCombo" и др.) По идентификатору, но источник компонента доступен для просмотра, поэтому вы должны иметь возможность получать всю необходимую информацию из сам исходный код. Поскольку я использую FlexBuilder, я обычно использую ярлык Eclipse Ctrl + click для имени тега / класса, чтобы перейти в связанный файл определения класса, но вы также можете открыть исходный файл непосредственно в [installDir] / sdks / [version ] /frameworks/src/mx/RichTextEditor.mxml чтобы посмотреть самим.
Я уверен, что есть и другие подходы (setStyle
- один, хотя его явное использование обычно не рекомендуется из соображений производительности), но это должно сработать для вас. Однако следует отметить, что, как вы увидите, когда копаетесь в источнике компонента, многие из кнопок в наборе кнопок по умолчанию на самом деле используют PNG (например, icon_style_bold.png
), а не текст, поэтому мой пример вместо этого содержит ссылку на ComboBox, чтобы вы могли видеть, как применяются изменения цвета; если вы хотите изменить внешний вид кнопок, имейте в виду, что для их внешнего вида они используют свойство styleable icon
, а не настройки стиля шрифта.
Надеюсь, это поможет!