`

[转] 在发布一个鼠标右键的公用类

阅读更多
http://bbs.9ria.com/viewthread.php?tid=78302&extra=page%3D1%26amp%3Borderby%3Ddateline%26amp%3Bfilter%3D2592000

/**
鼠标右键类 v1.3
@author 大陆仔仔
@http://daluzai.net
@date 2011-04-07
*/
package daluzai{
        import flash.ui.ContextMenu;
        import flash.ui.ContextMenuItem;
        import flash.events.ContextMenuEvent;
        public class QuickMenu {
                //创建菜单对象
                var quick_obj:ContextMenu=new ContextMenu();
                //舞台指针
                var get_stage_:Object;
                /***
                提供外部接口
                */
                public function call_QuickMenu(get_stage,caption_arr,fun_arr,explode_arr) {
                        //全局变量赋值
                        get_stage_=get_stage;
                        //隐藏FLASH常用的右键
                        remove_quick();
                        //创建新右键内容
                        new_quick(caption_arr,fun_arr,explode_arr);
                        //完成外部菜单
                        get_stage_.contextMenu =quick_obj;
                }
                /**
                隐藏FLASH常用的右键
                */
                function remove_quick() {
                        quick_obj.hideBuiltInItems();
                }
                /**
                创建新右键内容
                caption_arr 文字菜单数组
                fun_arr 菜单函数数组
                explode_arr 切割菜单
                */
                function new_quick(caption_arr,fun_arr,explode_arr) {
                        //创建一个空数组
                        var add_arr:Array=[];
                        //是否切割菜单
                        var is_explode:Boolean;
                        //数组长度
                        var caption_arr_length:Number=caption_arr.length;
                        //循环遍历菜单内容,操作函数
                        for (var i:Number=0; i<caption_arr_length; i++) {
                                //切割菜单
                                for (var j:Number=0; j<explode_arr.length; j++) {
                                        if (explode_arr[j]==i) {                                                
                                                is_explode=true;
                                                break
                                        } else {
                                                is_explode=false;
                                        }                                        
                                }                                
                                //创建遍历菜单字幕
                                var quickItem_obj:ContextMenuItem=new ContextMenuItem(caption_arr[i],is_explode);
                                //创建遍历监听
                                quickItem_obj.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT,fun_arr[i]);
                                //添加到新菜单
                                quick_obj.customItems.push(quickItem_obj);
                        }
                }
        }
}


文档类&或者其他实用类也行
package {
        import flash.display.Sprite;
        import daluzai.QuickMenu;
        public class Ga extends Sprite {
                var quickuickMenu=new QuickMenu();
                var get_stage:Object=this;
                public function Ga() {
                        var caption_arr:Array=new Array('嘎','嘎2');
                        var fun_arr:Array=new Array(duck,da);
                        quick.call_QuickMenu(get_stage,caption_arr,fun_arr);
                }
                function duck(ent) {
                        trace('嘎');
                }
                function da(ent) {
                        trace('嘎嘎');
                }
        }
}


补充说明
call_QuickMenu(get_stage,caption_arr,fun_arr)
这个调用接口需要三个参数,分别是舞台指针也就是this,还有就是要显示菜单的文字数组和执行函数数组


更新一次
增加了性功能,可以支持到切割菜单了。
具体方法是
explode_arr,这个参数。
一个数组,添加你要分割菜单的位置就可以了
分享到:
评论

相关推荐

    电脑初学者必需的60个电脑技巧

    上网时在地址栏内输入网址,系统会记录下来,虽然方便以后不用再重复,不 过如果是公用的机子,又不想让别人知道自己到过哪些地方,可以用“CTRL+ O(字母O,不是0)”,这时对弹出一个“打开”对话框,在其中的...

    采用领域驱动设计模式封装API

    这里采用领域驱动设计思想,以对接中通快递拦截功能为例子,项目结构 Common:公共方法其中主要包含IRequest(请求模型父级接口)、IResponse(返回模型父级接口)、...打个断点,之后再鼠标右键点击 “调试测试”

    win7局域网怎样搭建-.docx

    在安装 Win 7 时,系统会自动为我们创建一个名为“公用”的用户,同时,还会在硬盘上创建名为“公用”的文件夹。 在 Win7 中,可以通过鼠标右键单击要共享的文件夹,选择“属性共享”,然后在打开的对话框中单击...

    不用鼠标如何使用电脑

    在计算机使用中,有时候由于特殊需求或者设备限制,我们可能需要在不使用鼠标的情况下操作电脑。这就需要充分利用键盘快捷键来提高效率。以下是一些常见的Windows系统操作快捷键以及它们的功能: 1. 单独按`Windows...

    81.LabVIEW 中的类.doc-综合文档

    类的属性体现在类的VI和一个与类同名的`.ctl`项中。`.ctl`是一个Cluster,包含类的数据,类似于C语言中的成员变量。Cluster中的元素代表类的属性,如动物类中可能有年龄和颜色属性。LabVIEW中的类数据默认是私有的...

    FLASH-CS4完整L5元件库和实例PPT课件.ppt

    【FLASH-CS4完整L5元件库和实例】是关于Adobe Flash CS4软件中元件、库和实例使用的一个教学课件。元件是Flash创作环境中至关重要的元素,它们可以是图形、按钮或影片剪辑,一旦创建,便能多次复用而不会增加文件...

    为windows远程桌面加上SSL证书认证.pdf

    3. 在计算机softer上点鼠标右键选择“属性”,然后点“策略模快”标签,在策略模快标签下还有一个“属性”按钮。 4. 点属性按钮后在设置请求处理窗口中将默认的设置修改为“如果可以的话,按照证书模板中的设置。...

    不用鼠标如何操作电脑.doc

    在现代计算机操作中,熟练掌握快捷键可以极大地提高工作效率,特别是在没有鼠标的情况下。这篇文档主要列举了Windows系统和Microsoft Word中的常用快捷键,下面将详细解释这些快捷键的功能及其应用场景。 1. ...

    计算机中级考试试题.docx

    22. 在 Excel 中,若要删除第 5 行,首先选定该行,然后单击鼠标右键,就可得到“弹出式菜单”接着在“弹出式菜单”中选择“删除”命令完毕删除操作。选定一行的操作是单击行标题。 25. 将一般微机采用拔号入网方式...

    数据库技术与应用—SQLServer第数据库备份与还原PPT学习教案.pptx

    可以通过 SQL Server Management Studio 实现完全备份,步骤如下:启动“ SQL Server Management Studio” ,在“对象资源管理器”窗口里展开“数据库”目录,鼠标右键单击“ CJGL” ,选择“任务”,在弹出的快捷...

    Avant Browser USB版 2013 build 116.zip

    隐私浏览:作为一个隐私模式的设计,Avant浏览器不会在你的电脑中保存网页数据。因此,在你使用隐私浏览期间,与你共用电脑的人将不能看到你访问过哪些网站、网页和文件。   更新日志: [更新]Firefox内核更新至...

    Avant Browser 三核版 2013 build 116.zip

    隐私浏览:作为一个隐私模式的设计,Avant浏览器不会在你的电脑中保存网页数据。因此,在你使用隐私浏览期间,与你共用电脑的人将不能看到你访问过哪些网站、网页和文件。   更新日志: [更新]Firefox内核更新至...

    vs调试技巧

    针对问题5:“你有在调试一个服务程序,希望在其内部打上了断点,可是,由于这是一个公用的服务你不希望其他访问这个服务的程序被你的调试所干扰,你想怎么办?” 这个问题可以通过设置断点过滤器来解决: 1. **...

    让Win7和WinXP局域网共享资源畅通无阻.pdf

    在 Win7 中,具体操作比较简单,鼠标右键单击“计算机”,在弹出的快捷菜单当中选择“属性”,再在弹出窗口的“计算机名称、域、工作组设置”下修改计算机所在工作机组及计算机名即可。 Step 2: 设置家庭网络 在 ...

    USB Detective 优盘自动调用杀毒软件工具

    在系统托盘图标上或主界面上点击鼠标右键,出现快捷菜单。通过快捷菜单可以实现下列功能:启动(Start)、停止(Stop)对优盘的监控,移除(Remove)指定的优盘或全部的优盘,对程序进行配置(Option),检测新版本(Detect ...

    Tab可切换皮肤的后台模板.rar

    tabControl新开一个页面实际上是通过JS在主显示区域建立一个iframe 把这个iframe的src 指向我们指定的页面。 讨厌的BUG: 这个BUG一直都困饶了我好长时间,并且实在不知道怎么解决,甚至连问题出在哪里都不知道。 ...

    Win7系统打印机共享怎么设置.docx

    确保所有需要共享打印机的计算机都在同一个工作组中。 1. 点击“开始”,右键点击“计算机”,选择“属性”。 2. 查看“工作组”名称,如果不同,则需点击“更改设置”并设置相同的工作组名。 3. 设置后,需要重启...

    3dVR测试渲染步骤.pdf

    在右下角的空白区域,点击鼠标右键,这将展开一个菜单。 在弹出的菜单中,寻找“指定渲染器”选项。点击它,然后在下拉列表中选择V—RAY ADV。这是VRAY高级版本,提供了更多功能和优化的性能。 选中V—RAY ADV后,...

    flash shiti

    清楚当前位置上或选定的关键在时间线上插入一个新的关键 20.Flash 菜单Modify→Group的快捷操作是? A. Ctrl+G B. Ctrl+Shift+G C. Ctrl+B D. Ctrl+Shift+P 21.Flash中如果想要测试完整的互动功能和动画功能...

Global site tag (gtag.js) - Google Analytics