菜单中的分割线: 通过将 NativeMenuItem 构造函数中的 isSeparator 属性设置为 true 创建一条分隔线。
_menu = new NativeMenu(); _menuAddTopOU = new NativeMenuItem(RM.getString(BUNDLE_OUSETUP, "ous.menu.addTopOU")); _menuAdd = new NativeMenuItem(); _menuEdit = new NativeMenuItem(); _menuRemove = new NativeMenuItem(); _separator = new NativeMenuItem(null, true); //分割线 _menu.addItem(_menuAddTopOU); _menu.addItem(_separator); _menu.addItem(_menuAdd); _menu.addItem(_menuEdit); _menu.addItem(_menuRemove); _menu.addEventListener(ContextMenuEvent.MENU_SELECT, onMenuSelected); _menu.addEventListener(Event.SELECT, onMenuItemSelected); _treeOUs.contextMenu = _menu;
某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,.