Показать сообщение отдельно
Старый 22.01.2013, 16:03
AlexLucas вне форума Посмотреть профиль Отправить личное сообщение для AlexLucas Найти все сообщения от AlexLucas
  № 1  
Ответить с цитированием
AlexLucas
 
Аватар для AlexLucas

Регистрация: Feb 2011
Сообщений: 431
По умолчанию Задать шрифт тексту в s:TextArea

Доброго времени суток.
У меня есть sropDownList, в котором я выбираю шрифт
Код 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.
Но всё равно, может есть другой способ, лучше?
И кстати, при попытке задать некоторые шрифты, он просто использует дефолтный, хотя вроде перечисляются те шрифты которые есть в наличии. Почему так ?