Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   Глюки TextFormat, а возможно мои :) Пожалуйста помогите! (http://www.flasher.ru/forum/showthread.php?t=63161)

v350 17.09.2004 14:26

Глюки TextFormat, а возможно мои :) Пожалуйста помогите!
 
Вложений: 1
Друзья, помогите пожалуйста, какие-то странности с объектом TextFormat.

Идея проста: пишу метод, который обрезает строку в текстовом поле до нужного размера (исходя из установленного формата текста) и добавляет троеточие на конце.

Код приложен. Проблема в том, что странным образом ведет себя объект TextFormat.

Текст обрезается почему-то не по одной линии(запустите исходник пожалуйста), да и по размеру не дотягивает до указанного значени textRegion = 110.
Манипуляции с переменной format, указывающей на объект TextFormat приводят к странным результатам...

Вообщем посмотрите пожалуйста исходник, там все видно.

v350 17.09.2004 18:09

Господа, неужели никто не поможет?

Удобный ведь метод, может пригодиться при разработке интерфейсов и форм.

dimarik 17.09.2004 19:23

Хз, зависит от шрифта почему-то и от embedFonts(true/false)

v350 17.09.2004 21:01

Вот и я говорю ХЗ... :(
Зависит, как я понял, не столько от шрифта, сколько от места объявления формата.

Nox, BitSky, люди мудрые, может кто посмотрит?

artfla$her 18.09.2004 00:59

TextField.prototype.setEllipsisText = function(theText) {
var format = this.getTextFormat();
var theSubstring = theText;
var textRegion = 180;
for (var h = 0; h<theSubstring.length; h++) {
if (format.getTextExtent(theSubstring.substr(0, h+1)).width>textRegion) {
theSubstring = theText.substr(0, h)+"...";
break;
}
}
this.text = theSubstring;
};

Вообще код запутан дальше некуда :) А расстояние подгоняй вручную, т.к. getTextExtent, основываясь на параметрах форматирования, выдает лажу :)


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

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