PDA

Просмотр полной версии : Можно ли во время исполнения сменить тип текст. поля?


FlashWizard
25.06.2011, 16:59
По умолчанию текст. поле — Dynamic. При нажатии на кнопочку рядом с этим полем оно должно сменится на Input, и соответственно чтобы можно было что-то вводить.

(mc.tf as TextField).selectable = true;
(mc.tf as TextField).type = TextFieldType.INPUT;

Не работает почему-то. Вводить нельзя.

serogah
25.06.2011, 17:21
import flash.text.TextField;
import flash.text.TextFieldType;

(mc.tf as TextField).selectable=true;
(mc.tf as TextField).type=TextFieldType.INPUT;


Привет! У меня все работает. Проверь, может у тебя mc.tf.mouseEnabled=false или mc.mouseEnabled=false. Если да - то поставь на true

FlashWizard
25.06.2011, 17:34
Привет. mouseEnabled — true у текст. поля и у мувика. В общем курсор мигающий появляется, но если пытаешься что-то вводить — он исчезает. Ничего не вводится соответственно.

nOobCrafter
25.06.2011, 17:45
шрифты встроенны? подпишитесь на ивент инпута и change и посмотрите.

serogah
25.06.2011, 17:47
у тестового поля в options попробуй выставить Max chars:0

S-ed
25.06.2011, 23:13
Чем вызвано мнение, что вводить нельзя? Вы пробовали ввести текст и потом получить значение?
Или Вы просто не видите текст?

При использовании focus, в дебаг версии, курсор не будет виден в текстовом поле.
Если TextField вставлено через Flash API и шрифт не встроен, то будут видны только те символы, которые вы уже использовали в полях (если их небыло - то не отобразится ни один). У TLFText нет такого ограничения.

FlashWizard
26.06.2011, 22:41
Всё. Заработало. Спасибо за советы.

nOobCrafter
27.06.2011, 01:31
так а в чем косяк был?

FlashWizard
27.06.2011, 12:41
Сам виноват. В коде при keyDown фокус сбрасывался на другой объект :D. Ну и шрифты я тоже не встроил, совсем с головы вылетело.