Athena Framework
Tags
ActionScript AIR ANT ApacheFlex Array Athena Framework BlazeDS Chart DataGrid DataGridColumn DB2 Derby Eclipse ERwin Event Facebook Facebook开发 Flash Builder Flex Flex Builder Flex右键 Java JDBC Linux MySQL Oracle PHP SQL SVN TextArea Tools Tree Twitter UI WordPress XML ZDSoft 一日一类 千斤顶 基础教育 教育改革 新课改 正则表达式 浙大网络 软件工程Archives
Tag Archives: Flex菜单
Flex中使用ContextMenu - 添加,动态改变, 响应.
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 ...
}



