zoukankan      html  css  js  c++  java
  • [ActionScript 3.0] 自定义右键菜单

    将自定义右键菜单的一些属性和方法归纳到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 }
  • 相关阅读:
    三次请求(读-改-读)引出nibernate 一级缓存
    算法竞赛入门经典第一、二章摘记
    uva 10905 Children's Game
    uva 11205 The broken pedometer
    uva 10160 Servicing stations
    uva 208 Firetruck
    uva 167 The Sultan's Successors
    zoj 1016 Parencodings
    uva 307 Sticks
    uva 216 Getting in Line
  • 原文地址:https://www.cnblogs.com/frost-yen/p/4589245.html
Copyright © 2011-2022 走看看