Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Многоточие в текстовом поле (http://www.flasher.ru/forum/showthread.php?t=157731)

XBEEN 09.06.2011 20:22

Многоточие в текстовом поле
 
Доброго времени суток. Подскажите плз. Есть такая задача обрезать текст в текстовом поле с использованием "..." в конце текста. В какую сторону необходимо рыть, чтобы определить вмещается ли текст в текстовое поле и на каком символе осуществлять обрезку с добавлением многоточия?
Обрезанный текст вместе с "..." должен вместится в рамках фиксированной ширины текстового поля.

Jewelz 09.06.2011 20:26

поле многострочное?

in4core 09.06.2011 20:34

видимо нет. Ну задача то простая. используем maxChars ( или как оно там ) чтобы вернуть маквимальное кол-во символов. Далее если длинна текста > maxChars - 3 , делаем обрезку и добавление .
Код:

tf.text = str.slice ( 0, длинна )  , tf.appendText('...');

Wolsh 09.06.2011 21:40

in4core, то есть если длина текста будет на два символа короче чем maxChars, Вы обрежете и поставите эллипсис?

udaaff 09.06.2011 22:34

Если maxScrollH > 0, текст вылазит за рамки.

XBEEN 09.06.2011 23:20

Цитата:

Сообщение от in4core (Сообщение 1002485)
видимо нет. Ну задача то простая. используем maxChars ( или как оно там ) чтобы вернуть маквимальное кол-во символов. Далее если длинна текста > maxChars - 3 , делаем обрезку и добавление .
Код:

tf.text = str.slice ( 0, длинна )  , tf.appendText('...');

Неплохое решение. Спасибо. Однако как узнать сколько максимально символов в текстовом поле должно быть, если максимальная ширина данного поля допустим 300 пикселей?

Добавлено через 45 секунд
Цитата:

Сообщение от udaaff (Сообщение 1002520)
Если maxScrollH > 0, текст вылазит за рамки.

А как определить на каком символе выходит за рамки?

Котяра 09.06.2011 23:49

не все шрифты моноширинные

udaaff 09.06.2011 23:51

Цитата:

А как определить на каком символе выходит за рамки?
Как вариант, сокращать посимвольно, прибавляя три точки, до тех пор пока не влезет полностью.

XBEEN 10.06.2011 00:05

Цитата:

Сообщение от udaaff (Сообщение 1002535)
Как вариант, сокращать посимвольно, прибавляя три точки, до тех пор пока не влезет полностью.

Не лучший вариант. Неоправданная нагрузка для такой задачи.

udaaff 10.06.2011 00:10

Если логически рассудить, то длину на немоноширном шрифте никак не рассчитать. Поэтому других вариантов не вижу.


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

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