Flash Builder 4.5: отключение сочетаний клавиш в компоненте дерева - PullRequest
0 голосов
/ 27 сентября 2011

Когда мы фокусируемся на элементе в компоненте TREE в приложении Flash Builder и начинаем нажимать клавиши на нашей клавиатуре, фокус меняется на элемент, который начинается с буквы, которую мы просто нажимаем. Например, у нас есть следующие данные в нашем компоненте Tree "fruits":

Фрукты --Яблоко --Оранжевый --Peach

Если мы сфокусируемся на элементе «Персик» и нажмем «a» на клавиатуре, фокус автоматически переместится на элемент «Яблоки».

НУЖНО ОТКЛЮЧИТЬ ЭТУ ФУНКЦИЮ

Я предпринял несколько попыток с помощью функции event.Preventdefault (), вызываемой из разных триггеров, таких как textInput, keyDown, keyFocusChange и других, но не получил нужных мне результатов. Я вставляю некоторый код, чтобы объяснить лучше

protected function tree2_keyDownHandler(event:KeyboardEvent):void
{
// TODO Auto-generated method stub
trace('press key!');
event.preventDefault();
}

<mx:Tree id="tree2" keyDown="tree2_keyDownHandler(event)" />

Заранее спасибо

Ответы [ 2 ]

0 голосов
/ 07 октября 2011
package yourPackage {

    import flash.events.KeyboardEvent;
    import flash.events.TimerEvent;
    import mx.controls.Tree;

    public class YourNewTree extends Tree {

        public var keyNav:Boolean = false;

        override protected function keyDownHandler(event:KeyboardEvent) : void {
            if(keyNav){super.keyDownHandler(event);}
        }

        override protected function keyUpHandler(event:KeyboardEvent) : void {
            if(keyNav){ super.keyUpHandler(event); }
        }
    }
}
0 голосов
/ 06 октября 2011

Попробуйте
mx: Tree id = "tree2" selectable = "false"

...