标签:
将自定义右键菜单的一些属性和方法归纳到AddRightMenu.as,通过实例化此类,调用相关方法即可测试!
1 package 2 { 3 import flash.display.Sprite; 4 import flash.events.ContextMenuEvent; 5 import flash.net.navigateToURL; 6 import flash.net.URLRequest; 7 import flash.ui.ContextMenu; 8 import flash.ui.ContextMenuBuiltInItems; 9 import flash.ui.ContextMenuItem; 10 11 /** 12 * ... 13 * @author Frost.Yen 14 */ 15 public class AddRightMenu 16 { 17 private var rightMenu:ContextMenu; 18 public function AddRightMenu(obj:Object):void 19 { 20 rightMenu = new ContextMenu(); 21 obj.contextMenu = rightMenu; 22 } 23 24 /** 25 * 添加右键菜单并链接 26 * ContextMenuItem的属性customItems,ContextMenuItem 对象的数组。 数组中的每个对象表示您已经定义的上下文菜单项。 使用此属性可添加、删除或修改这些自定义菜单项。若要添加新的菜单项,请创建一个 ContextMenuItem 对象,然后将其添加到 customItems 数组(例如使用 Array.push())。 27 * @param name 菜单名称 28 * @param url 链接地址 29 */ 30 public function appendRightMenu(name:String,url:String):void 31 { 32 var item:ContextMenuItem = new ContextMenuItem(name,true); 33 item.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, onMenuSelect); 34 rightMenu.customItems.push(item); 35 function onMenuSelect(e:ContextMenuEvent):void 36 { 37 navigateToURL(new URLRequest(url), "_blank"); 38 } 39 } 40 41 /** 42 * ContextMenu属性link,链接的 URLRequest。如果此属性为 null,则显示标准上下文菜单。如果此属性为非 null,则显示链接上下文菜单并对指定的 URL 执行操作。 43 * @param url 44 */ 45 public function menuLink(url:String):void 46 { 47 rightMenu.link = new URLRequest(url); 48 } 49 50 /** 51 * ContextMenu属性builtInItems ,一个对象,它包含 ContextMenuBuiltInItems 类的以下属性:forwardAndBack、loop、play、print、quality、rewind、save 和 zoom。 将这些属性设置为 false 将删除指定的 ContextMenu 对象中的对应菜单项。 这些属性是可枚举的属性,默认情况下设置为 true。 52 * @param isForwardAndBack 53 * @param isLoop 54 * @param isPlay 55 * @param isPrint 56 * @param isQuality 57 * @param isRewind 58 * @param isSave 59 * @param isZoom 60 */ 61 public function builtInItem(isForwardAndBack:Boolean = true, isLoop:Boolean = true, isPlay:Boolean = true, isPrint:Boolean = true, isQuality:Boolean = true, isRewind:Boolean = true, isSave:Boolean = true, isZoom:Boolean = true ):void 62 { 63 rightMenu.builtInItems.forwardAndBack = isForwardAndBack; 64 rightMenu.builtInItems.loop = isLoop; 65 rightMenu.builtInItems.play = isPlay; 66 rightMenu.builtInItems.print = isPrint; 67 rightMenu.builtInItems.quality = isQuality; 68 rightMenu.builtInItems.rewind = isRewind; 69 rightMenu.builtInItems.save = isSave; 70 rightMenu.builtInItems.zoom = isZoom; 71 } 72 73 /** 74 * ContextMenu属性clipboardMenu,指定是否应使用剪贴板菜单。如果此值为 true,则 clipboardItems 将确定在剪贴板菜单上启用或禁用哪些项。 如果 link 属性为非 null,则将忽略此属性。 75 * @param enable 76 */ 77 public function clipboardMenu(enable:Boolean=false):void 78 { 79 rightMenu.clipboardMenu = enable; 80 } 81 82 /** 83 * ContextMenu方法hideBuiltInItems,隐藏指定的 ContextMenu 对象中的所有内置菜单项(“设置”除外)。 如果 Flash Player 的调试器版本正在运行,则会显示“调试”菜单项,尽管对于未启用远程调试功能的 SWF 文件该菜单项会变暗。 84 */ 85 public function hideBuiltInItems():void 86 { 87 rightMenu.hideBuiltInItems(); 88 } 89 90 } 91 92 }
标签:
原文地址:http://www.cnblogs.com/frost-yen/p/4589245.html