PDA

Просмотр полной версии : Отправка сообщение Enter'ом


kodemak
13.02.2010, 11:36
хочу сделать отправку сообщения клавишей enter
on (release, keyPress "<Enter>") {send("hi")}
только когда курсор находится в текстовом поле осуществляется переход на новую строку
клавиша <Up> получается
как мне добиться отправки ентером
и можно ли сделать переход на следующею строку Ctrl + Enter ?

mooncar
13.02.2010, 11:47
В таких случаях более верным сделать отправку через Ctrl + Enter, так как Enter все-таки - это перевод на новую строку, эта интерфейсная традиция старше.

kodemak
13.02.2010, 11:50
а не очень понимаю как написать код плюсования клавиш

mooncar
13.02.2010, 12:07
Пишите код нормально, в кадрах.
var keyListener:Object = new Object();
keyListener.onKeyDown = function () {
if(Key.isDown(Key.ENTER) && Key.isDown(Key.CONTROL)) {
test_tf.text = 'Отпрвлено';
}
};
Key.addListener(keyListener);
Проверять - вне среды разработки.
Фокус должен стоять на флешке.

Добавлено через 2 минуты
Если у вас там еще задействована кнопка, то
var keyListener:Object = new Object();
keyListener.onKeyDown = function () {
if(Key.isDown(Key.ENTER) && Key.isDown(Key.CONTROL)) {
sendFunc ();
}
};

Key.addListener(keyListener);

btn.onRelease = sendFunc;

function sendFunc () {
//отправка
}

kodemak
13.02.2010, 12:28
спасибо огромное

mooncar
13.02.2010, 12:56
Рекомендую также сделать прослушку клавиатуры на предмет Ctrl + Enter только, если юзер что-то делает в поле (вводит текст), чтобы не срабатывало, если фокус вне поля:
var keyListener:Object = new Object();
keyListener.onKeyDown = function () {
if(Key.isDown(Key.ENTER) && Key.isDown(Key.CONTROL)) {
sendFunc ();
}
};

input_tf.onSetFocus = function () { //курсор встал на поле ввода
Key.addListener(keyListener);

};

input_tf.onKillFocus = function () { //курсор вне поля ввода, оно потеряло фокус
Key.removeListener(keyListener);
};

btn.onRelease = sendFunc;


function sendFunc () {
//отправка
}

kodemak
13.02.2010, 13:26
почему то при этом нельзя перейти на следующею строку (
и работает только Enter + Ctrl а не Ctrl + Enter несмотря на то в каом порядке написанно это в каде

mooncar
13.02.2010, 16:46
почему то при этом нельзя перейти на следующею строку
Нужно сделать поле multiline.

Посмотрите пример, там еще нужно некоторые меры принять.

Maximer
13.02.2010, 17:52
if(Key.isDown(Key.ENTER) && Key.isDown(Key.CONTROL)) {
замени на
if(Key.isDown(Key.ENTER) & Key.isDown(Key.CONTROL)) {

udaaff
13.02.2010, 18:09
if(Key.isDown(Key.ENTER) && Key.isDown(Key.CONTROL)) {
замени на
if(Key.isDown(Key.ENTER) & Key.isDown(Key.CONTROL)) {

Зачем правильный вариант менять на неправильный?