PDA

Просмотр полной версии : Как поймать событие движения мыши из не визуального компонента ?


AntonAL
25.10.2009, 18:57
Я пишу класс-контроллер на Flex 4, который не будет виден, но будет убирать/показывать определённый компонент (визуальный) в зависимости от положения мыши.

Класс контроллера наследуется от EventDispatcher.
Соответственно, у него нет внутреннего свойства systemManager.topLevelSystemManager, которое есть у визуальных компонентов.

Возникает вопрос - как отловить движение мыши в таком классе ?
Есть ли другие глобальные объекты, которые можно послушать на наличие данного события ?

fljot
25.10.2009, 21:34
Application.application?

wvxvw
25.10.2009, 22:38
Application.application?
Tакой нету вообще в 4м флексе, но и то, что вместо нее есть лучше не использовать.
;)

Передайте ссылку на стейдж в каком-нибудь методе-инициализаторе, или, еслли вы вызываете конструктор, то в конструкторе.

AntonAL
26.10.2009, 12:02
Я нашел решение проблемы - т.к. контроллер я связываю с неким контролом ...

class SomeController
{
public function set target( val: UIComponent )
{
// ...
}
}


... то через данный контрол, как раз изнутри контроллера можно достучаться до systemManager'а

public function set target( val: UIComponent )
{
val.systemManager.topLevelSystemManager.addEventListener( MouseEvent.MOUSE_MOVE, onMouseMove );
}

wvxvw
26.10.2009, 13:58
Нда.... а SystemManager вам то зачем?