Форум 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=39183)

sig 31.10.2002 12:25

Высота текстового поля программно
 
Хай всем!
Есть такой трабл. Существует список линков (гружу XML).
Сам шаблон выглядит как 2 текстовых поля - сверху сам линк, снизу описание.
Дык вот мне надо сделать, чтоб высота поля с описанием была четко по количеству текста, без всяких скроллов.
P.S. Во Flash 5 !!! В 6-ом сам знаю как сделать :)

Max N Chubin_ 31.10.2002 13:38

написать вам что ли функцию???
 
штатными средствами никак!!!
Блин, вопрос этот всплывает с частотой в неделю!
Если у тебя есть MX и ты в курсе как это сделать, так нафига это мучать в 5ке?
Ну а если нет возможности работать в MX, то тебе остается только написать простую функцию для определения кол-ва строк в поле с известной шириной. Будешь вставлять для описания поле заведомо большей высоты, но край текста определить сможешь.

Алгоритм такой:
1. определяешь сколько символов влазит в одну строку.
2. разбиваешь загруженый текст на слова.
3. Начинаешь суммировать длины слов (не забывая про пробелы между ними).
4. После очеедного суммирования проверяешь - длина полученной строки меньше максимального кол-ва знаков в строке(МКЗС)?
5. как только получаешь что сумма превышает МКЗС, наращиваешь счетчик строк +1, сумму сбрасываешь в нуль, а последнее слагаемое прибавляешь к новой сумме (т.е. слово было перенесено на новую строку).
6. возвращаешься к п. 3 до тех пор пока не переберешь все слова.

в итоге получаешь точнейшую функцию подсчета строк в текстовом поле.

ЗЫ: есть одна маленькая неувязочка(читай погрешность) - ширина символов разная,так что перенос слова может случиться, хотя по формуле должно влезть буква в букву, на этот случай рекомендую определять ширину текстового поля по самому широкому символу.

Успехов!
Думаю что реализовать это тебе по силам.


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

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