AIR Only: AIR: 通过监听ContextMenuEvent.MENU_SELECT事件 动态改变菜单内容
\ 这里是通用的:
_menu = new ContextMenu(); _menuAddTopOU = new ContextMenuItem(RM.getString(BUNDLE_OUSETUP, "ous.menu.addTopOU")); _menuAdd = new ContextMenuItem(null, true); _menuEdit = new ContextMenuItem(null); _menuRemove = new ContextMenuItem(null); _menu.customItems.push(_menuAddTopOU); _menu.customItems.push(_menuAdd); _menu.customItems.push(_menuEdit); _menu.customItems.push(_menuRemove); _menu.addEventListener(ContextMenuEvent.MENU_SELECT, onMenuSelected); _menu.addEventListener(Event.SELECT, onMenuItemSelected); _treeOUs.contextMenu = _menu; // Menu打开后动态改变菜单内容 private function onMenuSelected(event:ContextMenuEvent):void { ... _menuAddTopOU.enabled = !tempNew; // add Top ou _menuAdd.enabled = (_treeOUs.selectedItem != null) && (!_editorOU.editable); // add ou if(_menuAdd.enabled) { _menuAdd.label = RM.getString(BUNDLE_OUSETUP, "ous.menu.add", [currentOU.nameFullLocalized]); }else { _menuAdd.label = RM.getString(BUNDLE_OUSETUP, "ous.menu.selectOneFirst"); } .. } // 选中Menu中某item后响应 private function onMenuItemSelected(event:Event):void { if(event.target == _menuAddTopOU) { // 增加顶级部门 onAction(_actionAddTopOU, null); }else ... }AIR: 通过监听ContextMenuEvent.MENU_SELECT事件 动态改变菜单内容
Categories: Flex; Tagged with: ActionScript • Air Menu • ContextMenu • Flex Menu • Flex右键 • NativeMenu; @ March 26th, 2009 9:47某Tree上的menu
_menu = new NativeMenu(); _menuAddTopOU = new NativeMenuItem("Add Top OU"); _menuAdd = new NativeMenuItem("Selcet one OU ls"); _menu.addItem(_menuAddTopOU); _menu.addItem(_menuAdd); _menu.addEventListener(ContextMenuEvent.MENU_SELECT, onMenuSelected); _menu.addEventListener(Event.SELECT, onMenuItemSelected); _treeOUs.contextMenu = _menu;监听函数:
// Menu打开后动态改变菜单内容 private function onMenuSelected(event:ContextMenuEvent):void { var currentOU:OrgUnit = _treeOUs.selectedItem as OrgUnit; _menuAdd.enabled = _actionAdd.enabled; if(_menuAdd.enabled) { _menuAdd.label = "Add OU in " + currentOU.nameFullLocalized; }else { _menuAdd.label = "Select one UP first"; } } // 选中Menu中某item后响应 private function onMenuItemSelected(event:Event):void { if(event.target == _menuAddTopOU) { trace("右键点击增加顶级部门"); onAction(_actionAddTopOU, null); }else if(event.target == _menuAdd) { trace("增加子部门"); onAction(_actionAdd, null); } }
// Proudly powered by Apache, PHP, MySQL, WordPress, Bootstrap, etc,.