AlexLucas
22.01.2013, 16:03
Доброго времени суток.
У меня есть s:DropDownList, в котором я выбираю шрифт
<fx:Script>
<![CDATA[
private function setTextFont():void {
dataSource.setFont(fonts.selectedItem); // тут я передаю выбранный шрифт объекту
}
]]>
</fx:Script>
<fx:Declarations>
<s:ArrayCollection id="arrColl"
source="{Font.enumerateFonts(true)}">
<s:sort>
<s:Sort>
<s:fields>
<s:SortField name="fontName" />
</s:fields>
</s:Sort>
</s:sort>
</s:ArrayCollection>
</fx:Declarations>
<s:DropDownList id="fonts" change="setTextFont()" dataProvider="{arrColl}" />
и пытаюсь задать этот шрифт s:TextArea
public function setFont(font:Font):void {
textarea.textFlow.fontFamily = font;
}
Выдаёт Property fontFamily value [object Font] is out of range
Т.е. он не принимает объект типа Font, принимает видимо какие-то константы. Вообще куча сеттеров TextFlow принимают тип *, поэтому я понятия не имею куда передавать мой Font.
Вкратце - у меня есть объект типа Font (http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/text/Font.html), как и куда передать его моему s:TextArea чтобы как-то воздействовать на выбранный текст?
Или может как-то по другому можно изменить шрифт в моём текст поле?
Добавлено через 4 минуты
Блин , надо задавать font.fontName, а не сам объект Font.
Но всё равно, может есть другой способ, лучше?
И кстати, при попытке задать некоторые шрифты, он просто использует дефолтный, хотя вроде перечисляются те шрифты которые есть в наличии. Почему так ?
У меня есть s:DropDownList, в котором я выбираю шрифт
<fx:Script>
<![CDATA[
private function setTextFont():void {
dataSource.setFont(fonts.selectedItem); // тут я передаю выбранный шрифт объекту
}
]]>
</fx:Script>
<fx:Declarations>
<s:ArrayCollection id="arrColl"
source="{Font.enumerateFonts(true)}">
<s:sort>
<s:Sort>
<s:fields>
<s:SortField name="fontName" />
</s:fields>
</s:Sort>
</s:sort>
</s:ArrayCollection>
</fx:Declarations>
<s:DropDownList id="fonts" change="setTextFont()" dataProvider="{arrColl}" />
и пытаюсь задать этот шрифт s:TextArea
public function setFont(font:Font):void {
textarea.textFlow.fontFamily = font;
}
Выдаёт Property fontFamily value [object Font] is out of range
Т.е. он не принимает объект типа Font, принимает видимо какие-то константы. Вообще куча сеттеров TextFlow принимают тип *, поэтому я понятия не имею куда передавать мой Font.
Вкратце - у меня есть объект типа Font (http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/text/Font.html), как и куда передать его моему s:TextArea чтобы как-то воздействовать на выбранный текст?
Или может как-то по другому можно изменить шрифт в моём текст поле?
Добавлено через 4 минуты
Блин , надо задавать font.fontName, а не сам объект Font.
Но всё равно, может есть другой способ, лучше?
И кстати, при попытке задать некоторые шрифты, он просто использует дефолтный, хотя вроде перечисляются те шрифты которые есть в наличии. Почему так ?