<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" minWidth="955" minHeight="600" creationComplete="init()" > <mx:Script> import flash.net.navigatetoURL; import mx.controls.Alert; internal var blogItem:ContextMenuItem; internal var authorItem:ContextMenuItem; internal var qqItem:ContextMenuItem; internal var mailItem:ContextMenuItem /** * 定制自己的右键菜单 */ internal function init():void{ //创建一个右键上下文菜单 var contextMenu:ContextMenu=new ContextMenu(); //隐藏指定的 ContextMenu对象中的所有内置菜单项(“设置”除外)。 contextMenu.hideBuiltinitems(); //创建上下文菜单选项 authorItem=new ContextMenuItem("作者:雪山飞鹄"); //创建上下文菜单选项 qqItem=new ContextMenuItem("QQ:184675420"); //创建上下文菜单选项 mailItem=new ContextMenuItem("Email:sxyx2008@163.com"); //创建上下文菜单选项 blogItem=new ContextMenuItem("Blog:http://www.blogjava.net/sxyx2008/"); //将子菜单系添加到子菜单中 contextMenu.customItems.push(authorItem); contextMenu.customItems.push(qqItem); contextMenu.customItems.push(mailItem); contextMenu.customItems.push(blogItem); //为每个子菜单项添加监听事件 blogItem.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT,menuItemHandler); authorItem.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT,menuItemHandler); qqItem.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT,menuItemHandler); mailItem.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT,menuItemHandler); //为上下文菜单设置监听 contextMenu.addEventListener(ContextMenuEvent.MENU_SELECT,menuHandler); //将该上下文菜单赋值给当前应用环境 this.contextMenu=contextMenu; } //菜单监听处理函数 internal function menuHandler(evt:ContextMenuEvent):void{ trace("menu"); } //子菜单项监听处理函数 internal function menuItemHandler(evt:ContextMenuEvent):void{ //获取事件源,斌将其转化为ContextMenuItem var item:ContextMenuItem=ContextMenuItem(evt.currentTarget); var caption:String=item.caption; switch(caption) { case blogItem.caption: { //若为blog地址,则请求到该地址 navigatetoURL(new URLRequest("http://www.blogjava.net/sxyx2008/"),"_blank"); break; } default: { Alert.show(caption,"右键菜单项"); break; } } } </mx:Script> </mx:Application>
演示
http://blogagic.com/178/customizing-right-click-menu-of-flex-applications
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。