Просмотр полной версии : переключение по динамическим окнам
ПРИВЕТ, кто знает, как можно с помощью нажатия кнопки переключаться по текстовым полям? Т.е. курсор бы переключался из одного динамич поля в другое!
:(
Nox Noctis
26.08.2002, 17:24
на чем пишем ? :) МХ или пятерка ?
Selection.getFocus + Selection.setFocus - все что нужно в принципе
в пятерке - делаешь массив всех переменных текстовых полей в нужном порядке...
типа
tabOrder = ["txtVar1", "txtVar2", "txtVar3"];
а потом вешаешь следилку нажатия кнопки и переключаешь поля с помощью Selection.setFocus
а в МХ есть стандартные фишки:
tabIndex и tabEnabled, которые управляют переключением табом
СПАСИБО!
Я пишу в MX!
:D :D
Как сделать следилку нажатия кнопки???? И у меня не получается переключаться по окнам, курсор появляется только в одном окне. :(
К сожалению мне не надо переключаться Tab, надо только кнопками!
Nox Noctis
26.08.2002, 21:35
так... я что-то не понимаю тогда... о каких окнах идет речь ? нужно переключаться между разными флэшками на страничке ?
да нет же, ты все правильно понял, нужно переключаться на одной страничке, между текстовыми полями с помощью кнопок! Хотя бы с TAB получилось, а не получается! Nox Noctis, помоги пожалуйста!
:cool:
вот файлик легкий
Nox Noctis
27.08.2002, 04:25
ну, раз ты в МХ пишешь... ;)
// массив с именами текст.полей в нужном порядке
tabOrder = ["a", "c", "b", "d"];
// создаем поля - это просто для примера, чтоб только кодом обойтись :)
for (i in tabOrder) {
this.createTextField(tabOrder[i], i, 0, 0, 0, 0);
tmp = this[tabOrder[i]];
tmp.autoSize=true, tmp.border=true;
tmp.type = "input";
tmp.text = "TextField :: "+i;
tmp._y += tmp._height*i*2;
}
// теперь собсно переключение:
active = -1; // показывает поле с каким номером сейчас активно
this.onKeyDown = function() {
// переключаем стрелкой вверх например
if (Key.isDown(Key.UP)) {
if (active>=0 && active<tabOrder.length-1) {
active++;
} else {
active = 0;
}
// устанавливаем фокус
Selection.setFocus(tabOrder[active]);
Selection.setSelection(0, 0);
}
};
Key.addListener(this);
Nox Noctis
27.08.2002, 16:38
...все понятно ? :))
Cпасибо за код!У меня получилось!!!
Только это мне не понятно - Key.addListener(this);
И еще, вот кнопка Key. только для ввода с клавиатуры, а можно ли заменить эту кнопку на свою, нарисованную?
:D
Nox Noctis
28.08.2002, 21:54
все можно :)
'Key.addListener(this);' - это такая новая фича в МХ :)
объект, который передается в качестве параметра (в данном случае 'this') получает сообщения о событиях объекта Key (клавиатуры то есть)... если этого не сделать - не создать лисенер - то даже определив функцию onKeyDown желаемого результат не получится :)
нужно вместо this.onKeyDown = function() { бла-бла-бла... }
написать
on (press) {
if (active>=0 && active<tabOrder.length-1) {
active++;
} else {
active = 0;
}
Selection.setFocus(tabOrder[active]);
Selection.setSelection(0, 0);
}
на кнопке
и будет работать по нажатию :)
Спасибо тебе, NOX, за помощь!
У меня все получилось!
:D
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.