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 }
  • 相关阅读:
    property可以声明得位置
    实例变量可以声明得位置
    void *与id类型的相互转换
    对象指针
    __weak修饰符
    __strong修饰符
    Objective-C中的自动释放池
    习题6-8 统计一行文本的单词个数 (15分)
    练习4-3 求给定精度的简单交错序列部分和 (15分)
    习题3-5 三角形判断 (15分)
  • 原文地址:https://www.cnblogs.com/frost-yen/p/4589245.html
Copyright © 2011-2022 走看看