Показать сообщение отдельно
Старый 07.10.2009, 10:22
Gubber вне форума Посмотреть профиль Отправить личное сообщение для Gubber Посетить домашнюю страницу Gubber Найти все сообщения от Gubber
  № 2  
Ответить с цитированием
Gubber

Регистрация: Sep 2000
Адрес: Россия, Обнинск
Сообщений: 84
Отправить сообщение для Gubber с помощью ICQ
Код AS3:
 
private function onMouseOver(ev:MouseEvent):void{
	createMenu();
        if (!origanalSet){
(1)          	prevMenu = AdvancedDataGrid(treeDataItem.owner).contextMenu;
            	origanalSet = true;
        }
(2)   	AdvancedDataGrid(treeDataItem.owner).contextMenu = treeNodeMenu;
        removeEventListener(MouseEvent.MOUSE_OVER, onMouseOver);
        addEventListener(MouseEvent.MOUSE_OUT, onMouseOut);
}
Я работаю с AdvancedDataGrid, но думаю с листом можно в рендерере реализовать примерно такой же механизм.
При наведении мышки на компонент - генериться меню, затем это меню заменяет то контекстное меню, которое было у родительского компонента (AdvancedDataGrid). После чего удаляется слушатель MOUSE_OVER и добавляется слушатель MOUSE_OUT,

Код AS3:
 
private function onMouseOut(ev:MouseEvent):void{
    AdvancedDataGrid(treeDataItem.owner).contextMenu = prevMenu;
    addEventListener(MouseEvent.MOUSE_OVER, onMouseOver);
    removeEventListener(MouseEvent.MOUSE_OUT, onMouseOut);
}
__________________
flex vs java
ICQ#65310126