FLEX 屏闭系统右键菜单,及在列表控件DataGrid/Tree/List上点右键时自动选择当前行
?
?
第五步:
?
修改RightClickManager.as文件的
?
static private var rightClickTarget:*;
?
再修改两个该文件的两个函数:
?
?
static private function mouseOverHandler(event:MouseEvent) : void {rightClickTarget = InteractiveObject(event.target); return; } static private function dispatchRightClickEvent() : void {var event:ContextMenuEvent; if (rightClickTarget != null) { event = new ContextMenuEvent(RIGHT_CLICK, true, false, rightClickTarget as InteractiveObject, rightClickTarget as InteractiveObject); rightClickTarget.dispatchEvent(event); }// end if return; }?
?
??????? 到这里,功能就完成了,本人修改了RightClickManager的事件从MouseEvent改为ContextMenuEvent是为了能在列表控件DataGrid/Tree/List上点右键时自动选择当前行,使用了ContextMenuEvent事件中的event.mouseTarget和列表控件的IListItemRenderer接口!
?
??????? 本功能也有副作用,系统右键菜单失效,那文本的右键复制粘贴也就失效了,有大量用到TEXTINPUT的就要小心使用了~!
?
转自:http://blog.csdn.net/cjy37/article/details/3954516