Просмотр полной версии : Высота текстового поля программно
Хай всем!
Есть такой трабл. Существует список линков (гружу 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 до тех пор пока не переберешь все слова.
в итоге получаешь точнейшую функцию подсчета строк в текстовом поле.
ЗЫ: есть одна маленькая неувязочка(читай погрешность) - ширина символов разная,так что перенос слова может случиться, хотя по формуле должно влезть буква в букву, на этот случай рекомендую определять ширину текстового поля по самому широкому символу.
Успехов!
Думаю что реализовать это тебе по силам.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.