Просмотр полной версии : DataGrid и правая кнопка мышки
Доброго дня!
Как отловить в DataGrid событие нажатия правой кнопки мышки и по нему создать контекстное меню?
Dima_DPE
28.08.2007, 18:21
При большом желание отловить можно, а вот создать свое контекстное меню никак, можно конечно добывить в стандартное меню, но About Adobe Flash... меню не убрать. Посмотри ContextMenu класс в хелпе.
Посмотрел, действительно не интересно :(
Но вот в инете нашел http://www.uza.lt/blog/2007/08/solved-right-click-in-as3/ :)
Остался только один вопрос, как отловить в DataGrid это событие.... Если можно, несколько подробнее, ну совсем новичек :)
Dima_DPE
28.08.2007, 19:00
То что ты нашел - это неплохой вариант, но не панацея! Поэтому не советую...
Как отловить это событие написано тамже где ты нашел...
Как вариант можно рисовать свое меню по двойному-клику или добавить маленькую кнопку в каждую ячейку для меню.
Как вариант можно рисовать свое меню по двойному-клику или добавить маленькую кнопку в каждую ячейку для меню.
Второе намного интересней!!! :)
Можно узнать, как добавить кнопку в грид и привязать к ней событие?
И все же, как в гриде отлавливать события мышки?
Dima_DPE
28.08.2007, 19:17
Посмотри тут, по поводу отлавливания соботый
http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/fl/controls/SelectableList.html#event:itemClick
http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/fl/controls/SelectableList.html#event:itemDoubleClick
А вот с добавлением кнопки там будет сложнее, мне на ум приходит только написать свой cellRenderer...
Спасибо, буду изучать....
ВАУ!!!!! Это для AS3, а во втором это есть?
Dima_DPE
28.08.2007, 19:25
Упс. Извини за АС3, но думаю что-то подобное есть и под ас2.
да, в ас2 этого нет.... :(
будем искать.....
спасибо за ответы....
Dima_DPE
28.08.2007, 19:33
как нет. Есть!
Тебе надо DataGrid.cellPress и List.cellRenderer...
а можно пример для DataGrid.cellPress, с отлавливанием клика мышки? плз....
Dima_DPE
28.08.2007, 21:21
my_dg.dataProvider = [{name:"Clark", score:3135}, {name:"Bruce", score:403}, {name:"Peter", score:25}];
// Create listener object.
var dgListener:Object = new Object();
dgListener.cellPress = function(evt_obj:Object) {
var cell_str:String = "("+evt_obj.columnIndex+", "+evt_obj.itemIndex+")";
trace("The cell at "+cell_str+" has been clicked");
};
// Add listener.
my_dg.addEventListener("cellPress", dgListener);
Пример из хелпа =)
Обрати внимание на evt_obj в нем есть свойства columnIndex, itemIndex, а также target которое хранит ссылку на сам ДатаГрид, а не на ячейку (а жаль)
Спасибо, я этот пример смотрел конечно, прежде чем написать :)
Мне пока не ясно, как определить, где мышь, где клава нажата... ну зеленый я пока :)
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.