PDA

Просмотр полной версии : динамический textfield


idevyatovsky
23.06.2003, 08:20
Привет всем!

Делаю XML меню, но столкнулся с проблемой - не могу сделать
динамическое текстовое поле.

Есть переменная content (текст, значение беру из XML).
Есть текстовое поле.

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

Итого: :)

1. Нужно минимизировать длину однострочного текстового
поля, полностью отображая содержимое.

2. Узнать ширину этого поля.

autosize=true у меня правую границу не двигает, только
нижнюю.

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

P.S. Если кто-нибудь кинет файлик с примером - буду очень
рад! :)) уже два дня ищу решение. если не найду - придется
пользоваться шрифтом с фиксированной шириной символов,
наиболее распространен - Lucida Console - некрасивый для
меню :( .

P.P.S. крайне желательно чтобы скрипт работал с внешними
шрифтами. ибо 20 кб это слишком много.

Pietrovich
23.06.2003, 10:22
попробуй это дело в рут вставить, все работете, правда не аккуратненько...
_root.createTextField('txt',1,1,1,1,1);
txt.borderColor='0xaaaaaa';
txt.border = true;
txt.variable = '_root.aaa';
txt.autoSize = true;

_root.createTextField('i_txt',2,1,50,150,20);
i_txt.type='input';
i_txt.borderColor='0xaaaaaa';
i_txt.border = true;
i_txt.variable = '_root.aaa';

tf = new TextFormat();
tf.size=14;
tf.font='_sans';
tf.color = '0xff0000';
txt.setNewTextFormat(tf);

Pietrovich
23.06.2003, 10:39
txt.onSetFocus = function ()
{
trace('_width='+this._width+" textWidth="+this.textWidth)
}

блин, чето не дали месагу отредактировать.
короче добавь к тому еще это. ширина текста и поля. покажется при получении фокуса.

а насчет внешних фонтов... могут проблемы быть. например внешние фонты не будут маскироваться и прозрачность им задать не получится... и еще много чего может повылазить.

idevyatovsky
23.06.2003, 17:29
Не знаю почему у меня не работало когда я делал с уже существующим текстом. :)

Спасибо за помощь! :) Все работает! :)