Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > Flex

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 29.04.2008, 19:52
Nemo_c вне форума Посмотреть профиль Отправить личное сообщение для Nemo_c Найти все сообщения от Nemo_c
  № 1  
Ответить с цитированием
Nemo_c
 
Аватар для Nemo_c

Регистрация: Jan 2008
Сообщений: 221
По умолчанию TextArea, htmlText, css и два Embed шрифта

Встала такая задача.
В компонент TextArea нужно загрузить и отобразить текст из хтмл который будет конфигурироваться css файлом, а текст отображается двумя - тремя Embed шрифтами.
В нете нарыл инфу поэтому поводу.

так же существует платный компонент который решает эту задачу но у него не приемлемая стоимость.

вот код который по логике(моей) должен работать но не работает :-(
подскажите где я накосячил и как можно лучше решить задачу?
Код:
<?xml version="1.0" encoding="utf-8"?><mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" initialize="init()" xmlns:ns1="visual.gui.*" xmlns:containers="flexlib.containers.*" xmlns:battlefield="visual.gui.battlefield.*">
<mx:Script>
<![CDATA[

        private var h1Style: String = "h1 {font-family: regularFont; font-size: 120; font-weight: bold; text-align: center; letter-spacing: 20px; }\n";
        private var blockquoteStyle: String = "blockquote {font-style: italic; margin-left: 20px; }\n";
       
          [Embed("MTCORSVA.TTF",
                    fontName="regularFont",
                    mimeType="application/x-font")]
            private var font1:Class;
        
        private function cc(e: Event): void {
                textArea.htmlText = "<h1>Заголовок</h1>\n<blockquote>Цитата ДлиннаяЦитата ОченьДлиннаяЦитата ОченьПреоченьДлиннаяЦитата ОченьПреоченьСверхдлиннаяЦитата ОченьОченьПреоченьСверхдлиннаяЦитата ОченьОченьПреоченьСверхдлиннаяЦитата - это всего лишь Цитата ДлиннаяЦитата ОченьДлиннаяЦитата ОченьПреоченьДлиннаяЦитата ОченьПреоченьСверхдлиннаяЦитата ОченьОченьПреоченьСверхдлиннаяЦитата ОченьОченьПреоченьСверхдлиннаяЦитата</blockquote>";
        }
        private function b1click(e: Event): void {
                // Создаем новый StyleSheet
                var styleSheet: StyleSheet = new StyleSheet();
               
                // Парсим наши стили (можно использовать и загружаемые через URLLoader
                // CSS файлы.
                styleSheet.parseCSS(h1Style + blockquoteStyle);
               
                // Назначаем stylesheet нашей TextArea
                textArea.styleSheet = styleSheet;
        }
        private function b2click(e: Event): void {
                // Создаем новый StyleSheet
                var styleSheet: StyleSheet = new StyleSheet();
               
                // Задаем стиль для заголовка H1
                var h1StyleObject: Object = {fontFamily: "regularFont", fontSize: 120, fontWeight: "bold", textAlign: "center", letterSpacing: "20px" };
               
                // Задаем стиль для blockquote (синтаксис другой, но смысл тот же)
                var blockquoteStyleObject: Object = new Object();
                blockquoteStyleObject.fontStyle = FontStyle.ITALIC;
                blockquoteStyleObject.marginLeft = '20px';
               
             
               
                // Записываем стили в stylesheet
                styleSheet.setStyle("h1", h1StyleObject);
                styleSheet.setStyle("blockquote", blockquoteStyleObject);
               
                // Назначаем stylesheet нашей TextArea
                textArea.styleSheet = styleSheet;
        }
 
]]>
</mx:Script>
<mx:Panel title="Кнопочки" width="100%" layout="horizontal">
    <mx:Button id="b1" click="b1click(event)" label="Button 1" width="50%"/>
    <mx:Button id="b2" click="b2click(event)" label="Button 2" width="50%"/>
</mx:Panel>
<mx:TextArea id="textArea" creationComplete="cc(event)" width="100%" height="100%"/>
</mx:Application>

Старый 13.05.2008, 20:13
BaRoN! вне форума Посмотреть профиль Отправить личное сообщение для BaRoN! Посетить домашнюю страницу BaRoN! Найти все сообщения от BaRoN!
  № 2  
Ответить с цитированием
BaRoN!

Регистрация: May 2008
Адрес: Saransk
Сообщений: 1
Отправить сообщение для BaRoN! с помощью ICQ Отправить сообщение для BaRoN! с помощью Skype™
По умолчанию Если все еще важно - должно помочь :-)

Очень сильно подозреваю, что не хватает:
Код:
Font.registerFont(font1);
Если не помогло, то посмотреть
Код:
Font.enumerateFonts(false);
И подставить в стили такое имя шрифта, какое указано там в объекте Font.

К сожалению, ничего не получается с таблицами при таком подходе :-(. Хотя где-то видел подешевле компонент, в районе 50-100$. Если цена подходящая - стукнитесь в аську/приват, найду ссылку.


Последний раз редактировалось BaRoN!; 13.05.2008 в 20:18.
Создать новую тему Ответ Часовой пояс GMT +4, время: 22:44.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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