Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Flex (http://www.flasher.ru/forum/forumdisplay.php?f=84)
-   -   Задать шрифт тексту в s:TextArea (http://www.flasher.ru/forum/showthread.php?t=193000)

AlexLucas 22.01.2013 16:03

Задать шрифт тексту в s:TextArea
 
Доброго времени суток.
У меня есть s:DropDownList, в котором я выбираю шрифт
Код AS3:

<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
Код AS3:

public function setFont(font:Font):void {
    textarea.textFlow.fontFamily = font;
}

Выдаёт
Код:

Property fontFamily value [object Font] is out of range
Т.е. он не принимает объект типа Font, принимает видимо какие-то константы. Вообще куча сеттеров TextFlow принимают тип *, поэтому я понятия не имею куда передавать мой Font.

Вкратце - у меня есть объект типа Font, как и куда передать его моему s:TextArea чтобы как-то воздействовать на выбранный текст?

Или может как-то по другому можно изменить шрифт в моём текст поле?

Добавлено через 4 минуты
Блин , надо задавать font.fontName, а не сам объект Font.
Но всё равно, может есть другой способ, лучше?
И кстати, при попытке задать некоторые шрифты, он просто использует дефолтный, хотя вроде перечисляются те шрифты которые есть в наличии. Почему так ?

Astraport 22.01.2013 16:52

Код AS3:

textarea.setStyle("fontFamily","Arial");

Добавлено через 1 минуту
Цитата:

И кстати, при попытке задать некоторые шрифты, он просто использует дефолтный, хотя вроде перечисляются те шрифты которые есть в наличии. Почему так ?
Так и Фотошоп треть шритов не воспроизводит.

AlexLucas 22.01.2013 17:49

Код AS3:

textarea.setStyle("fontFamily","Arial");

не знаю если такое покатит, дело в том что мне надо задать этот стиль именно выделенному куску текста, т.е. через setFormatOfRange

Astraport 22.01.2013 18:14

Тогда можно через TextLayoutFormat пробовать.


Часовой пояс GMT +4, время: 07:44.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.