PDA

Просмотр полной версии : Глюки TextFormat, а возможно мои :) Пожалуйста помогите!


v350
17.09.2004, 14:26
Друзья, помогите пожалуйста, какие-то странности с объектом 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, основываясь на параметрах форматирования, выдает лажу :)