![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Dec 2010
Сообщений: 177
|
Не совсем пойму принцип установления фокуса на объект при щелчке мыши.
Например, если у объекта стоит tabEnadled = true, то с помощью клавиши Tab мы перемещаемся и меняем фокус объектов. Если же мы кликаем на клип, то фокус на него не смещается, а мне необходимо при клике, чтобы фокус был на клипе, без использования программного метода (visual.stage.focus). Как включить клип в список объектов, чтобы при щелчке на нем останавливался фокус? |
|
|||||
|
если установить объекту tabIndex ( при tabEnabled = true), то включается и установка фокуса по клику
по умолчанию (tabIndex=-1) фокус не перемещается да, мутная какая-то логика Добавлено через 8 минут пардон, неправильно я нащелкал: tabIndex не при делах, при tabEnabled = true и так все работает Добавлено через 23 минуты упс, совсем непонятно все такой вот пример: если не задавать явно tabEnabled, то он для спрайта false, при этом если задать tabIndex, то фокус начинает передаваться а вот если явно задать tabEnabled, то уже никак ![]() public class Main extends Sprite { public function Main():void { stage.scaleMode = StageScaleMode.NO_SCALE; addEventListener(MouseEvent.CLICK, click); for (var i:int = 0; i < 2; i++) { addChild(getObj()); } } private function click(e:MouseEvent):void { // tabEnabled=false, но фокус передается trace("e : " + e.target.name + " tabEnabled: " + e.target.tabEnabled); trace("stage.focus : " + (stage.focus ? stage.focus.name : "null")); } private var counter:int = 0; private function getObj():Sprite { var obj:Sprite = new Sprite(); obj.x = 400 * Math.random(); obj.y = 400 * Math.random(); obj.graphics.beginFill(0); obj.graphics.drawCircle(0, 0, 20); // если явно выключить tabEnabled, то фокус не будет передаватьсяы //obj.tabEnabled = false; obj.tabIndex = 0; obj.name = "s" + counter++; return obj; } } Последний раз редактировалось silin; 17.01.2012 в 14:32. |
![]() |
![]() |
Часовой пояс GMT +4, время: 18:11. |
|
|
« Предыдущая тема | Следующая тема » |
|
|