PDA

Просмотр полной версии : Курсор textfield


BBOY Ильич
12.02.2008, 22:55
Когда вводишь в текстовое поле буквы с клавиатуры, то курсор, указывающий на позицию, куда вставляются буквы, присутствует.
А как сделать так, чтобы такой же курсор появлялся при вводе символов кнопками на экране?

Molecula
12.02.2008, 23:28
Читайте про Selection.setFocus.

BBOY Ильич
13.02.2008, 00:27
Ок! Спасибо

А можно примерчик небольшой? Что-то я не очень понимаю, как selection'ом пользоваться...

И еще вопрос:
Мне нужно сделать так, что если в текстовом поле нету ни одного символа (length == 0), то переменная (пусть будет i) станет равна true.
Как сделать так, чтобы состояние текстового поля постоянно отслеживалось?

Molecula
13.02.2008, 01:48
Как сделать так, чтобы состояние текстового поля постоянно отслеживалось?
как вариант
onEnterFrame
или
TextField.onChanged
следит за ваше_текстовое_поле.length
если 0, то делай то-то, иначе: делай сё-то.

BBOY Ильич
13.02.2008, 01:54
onChanged я пробовал... не пашет. Работает только тогда, когда с клавы ввожу...
А как использовать enterframe, я не знаю(

Molecula
13.02.2008, 02:15
Для Вашего случая с переменной.
var i:Number;
var mc:MovieClip = this.createEmptyMovieClip('mc', this.getNextHighestDepth())
var tf:TextField = this.createTextField('tf', 1, 100, 100, 300, 100);
//tf.text='Xlam';
mc.onEnterFrame = checkTextField;
function checkTextField(){
i = (tf.length==0) ? 1 : 0;
trace(i)
}

Если комментарии удалите будет выдавать нуль.

BBOY Ильич
13.02.2008, 02:18
Большое спасибо! Будем пробовать!

А вот с Selection.setFocus никак не получается((

Molecula
13.02.2008, 04:19
Selection.setFocus("tt");
где тт - у меня инпут текст-филд.
Только тут есть один прикол. Когда тестируешь в проге, то при компиляции ничё не фокусится, это из-за того сам СВФ теряет фокус - тестируй с диска, тогда всё ок.

BBOY Ильич
13.02.2008, 14:30
Спасибо огромное!

BBOY Ильич
13.02.2008, 14:59
Хм... Эта функция работает, но не так, как мне нужно.
Я же ввожу текст с экрана. И при каждом вводе курсор пропадает.
А если сделать так, как Вы написали с EnterFrame, тогда вводить текст получается почти невозможным((

Molecula
13.02.2008, 15:14
И при каждом вводе курсор пропадает.
При вводе чего, символов в инпуте? У меня не пропадает.

BBOY Ильич
13.02.2008, 15:22
on(release){
_root.InputPanel.textin.text += "A"
}
вот так ввожу

Molecula
13.02.2008, 16:11
Типа такого что ли?
tf = this.createTextField("tf", 1, 100, 100, 300, 100);
tf.multiline = true;
tf.wordWrap = true;
tf.border = true;
tf.type = 'input';
tf.text='Hi';
mc.onPress=addChar;
function addChar(){
tf.text+=' Flash';
Selection.setFocus(tf);
Selection.setSelection(tf.length, tf.length);
}

Нарисуйте чёнить, обзовите мувик "mc".

Так будет всегда последний символ выделять.
Selection.setSelection(tf.length-1, tf.length);

BBOY Ильич
13.02.2008, 18:22
Типа такого, но курсор все-равно не появляется...

BBOY Ильич
14.02.2008, 17:03
Вопрос: текстовое поле маленькое, в одну строку. Как сделать так, чтобы текст, если он вылезает за пределы поля, прокручивался?

Sprint2008
14.02.2008, 17:39
.scroll+=1

BBOY Ильич
14.02.2008, 18:05
сделал так
.hscroll++
но он докручивается до конца и останавливается. Как зациклить прокрутку?

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

Можно какую-нить палочку перед текстом вставлять ("|" например), чтоб ей потом по тексту стрелками перемещать можно было.