Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > Flex

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 07.10.2009, 09:37
AntonAL вне форума Посмотреть профиль Отправить личное сообщение для AntonAL Найти все сообщения от AntonAL
  № 1  
Ответить с цитированием
AntonAL

Регистрация: Oct 2009
Сообщений: 15
По умолчанию Как выбирать элементы списка s:List правой кнопкой мыши

Доброго дня!

Необходимо решить следующую задачу:
Есть список (s:List) фотографий. По нажатию правой кнопки мыши, для нажатой фотографии должно появляться контекстное меню, причём, момент нажатия должен считаться не по отпусканию кнопки, а, именно, по нажатию.

Реализация появления контекстного меню - не проблема.
1. Я могу непосредственно в item renderer'е создать обработчик события rightClick
2. В обработчике дать этому событию всплыть
3. И где-нибудь его поймать

Проблема именно в нажатии правой кнопкой мыши - правая кнопка не предназначена для выбора элемента в списке, поэтому, получается так, что появление контекстного меню отрабатывает не для данного right-кликнутого элемента, а для того элемента, который был выбран до этого (левой кнопкой).

Есть какие нибудь идеи ?

Старый 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

Создать новую тему Ответ Часовой пояс GMT +4, время: 21:11.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Теги
выбор , контекстное меню
Опции темы
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 21:11.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.