Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   как обрезать динамический текст? (http://www.flasher.ru/forum/showthread.php?t=37277)

MainD 17.09.2002 20:02

как обрезать динамический текст?
 
задачка, в принципе, простая, только никак не могу справится.
есть динамическое текст поле, определённого размера, в которое подгружается текст.
если текст больше, то нужно его обкарнать под размер поля и поставить "...";
проблема только в одном, как узнать, длину видимого участка текста?
всё осложняется тем, что это htmlText и там есть <br>...

lizergil 17.09.2002 20:36

используй указатель события TextField.onScroller
инициализируется, когда скролл текстового поля начинает изменяться в любую сторону, т. е. видимая доступное текстовое пространство начинает превышаться

MainD 17.09.2002 20:37

можно получить количество линий текста, которые надо вырезать, или которые видны, с помощью bottomscroll и maxscroll.
но как ихвычислить в тексте. ведь стоит wordwrap и есть <br>?

упс , не заметил предыдущее пока писал ...
ok обработчик сработает, когда текст превысит размер поля, а что это даст?
он вернёт ссылку на поле и всё...

lizergil 17.09.2002 23:46

как только сработал, удаляй последние четыре символа и ставь троеточие

MainD 18.09.2002 14:10

я не заметил у onScroller такого замечательного св-ва:


Код:

createTextField("res", 30, dL+30, 35, startTextWidth, startTextHeight);
res.onScroller = function() {
        trace("zzzzzzzzzzzzzzzzzzzzzzzzzzzz");
}
res.wordWrap = true;
res.selectable = false;
tf = new TextFormat();
tf.bullet = false;
tf.underline = false;
tf.font = "Arial";
tf.size = 12;
res.autoSize = false;
res.embedFonts = true;
res.html = true;

res.htmlText = _parent.msg;
res.setTextFormat(tf);

строчка вылетает только если selectable = true, выделять текст и двигать его, как и написано в мануале...

так как же работает onScroller?
давай уточним

MainD 18.09.2002 15:32

скорее всего ты не правильно понял слово "динамический".
Под ним я подразумевал textField.type.
их есть два input & dinamic

lizergil 18.09.2002 20:28

Вложений: 1
Цитата:

скорее всего ты не правильно понял слово "динамический".
"не правильно" это наречие и пишется вместе, а что такое динамический и Input текст я знаю прекрасно.

вот тебе пример с maxscroll и maxhscroll. см. аттач
можно было и через onScroller, но это проблематичнее, т. к. могут быть два вида переполнения поля: чисто количеством символов, и переходом каретки <BR>

удачи

MainD 19.09.2002 16:11

спасибо за русский язык, надеюсь деньги за репетиторство брать не будешь....

ok. оставим onScroll. но у тебя здесь в цикле есть небольшая проблема, он будет крутиться, пока scroll или hscroll не изменятся...

а если не изменятся?
введи просто несколько символов.
нужно условие, когда текст меньше ширины поля.


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

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