PDA

Volledige versie bekijken : CTRL+Z in flex detecteren


FredericCox
%Europe/Berlin %835 %2008, 21:03
Voor een miniapplicatie zou ik graag eens actie undo'en met CTRL + Z. Easy dacht ik dus ik zet this.addEventListener(KeyboardEvent.KEY_DOWN, onKeyPressed);

en dan:


private function onKeyPressed(ev:KeyboardEvent):void{
debugtext.text = ev.ctrlKey + " + " + ev.keyCode + " \n";
}


als ik nu CTRL+Z klikt wordt de CTRL wel gedetecteerd maar de Z niet (omdat die CTRL nog ingehouden is?)

Iemand? Google maakt me niets wijzer..

TheDutch
%Europe/Berlin %895 %2008, 22:29
Dat lijkt zo omdat je debugtext.text steeds overschrijft :).

Wanneer jij CTRL+Z indrukt dat krijg je "true + 90", die wil je hebben. Echter heb je daarna nog steeds de CTRL indrukt wanneer je die loslaat dan krijg je "false + 17". Helemaal logisch dus.

Gebruik dus deze code:

private function onKeyPressed(ev:KeyboardEvent):void{
debugtext.text += ev.ctrlKey + " + " + ev.keyCode + " \n";
}

FredericCox
%Europe/Berlin %960 %2008, 00:03
Dat lijkt zo omdat je debugtext.text steeds overschrijft :).

Wanneer jij CTRL+Z indrukt dat krijg je "true + 90", die wil je hebben. Echter heb je daarna nog steeds de CTRL indrukt wanneer je die loslaat dan krijg je "false + 17". Helemaal logisch dus.

Gebruik dus deze code:

private function onKeyPressed(ev:KeyboardEvent):void{
debugtext.text += ev.ctrlKey + " + " + ev.keyCode + " \n";
}


Thanks, er was nog een ander probleem de Z was blijkbaar al gereserveerd door de map component die ik gebruik dus dat werd niet getriggerd, de += was een typfout, mijn excuses :)