zoukankan      html  css  js  c++  java
  • 自定义菜单(很好,很强大)

    与菜单相关的类一共有3个
    ContextMenu类
    ContextMenuBuiltInItems类
    //与系统内置菜单相关的类
    ContextMenuItem类 //与用户自定义菜单相关的类
    一不小心,就会被这几个类搞昏头。
    举一例,学习之:
    flashcs3 新建一个元件,随便画个什么图形。
    吧元件拖动到舞台上,名称改为mc
    然后复制下面的代码到主时间轴第一桢:
    var cm:ContextMenu=new ContextMenu();
    //定义CM对象,赋值给可视元件.
    //而后的代码中,会对cm的属性进行修改。达到自定义的效果
    //那么就会分别对●内置菜单 ●用户菜单 进行修改 
    mc.contextMenu=cm;
    //当然你也可以赋值给舞台。如下语句
    //contextMenu=cm;
    /////////////编辑内置菜单////////////////////////////////////////
    cm.hideBuiltInItems();
    /*//也可以用下面方法,选择性隐藏内置菜单
    var cmb:ContextMenuBuiltInItems=new ContextMenuBuiltInItems();
    cmb.print=false;
    cmb.quality=false;
    cmb.zoom=false;
    cmb.loop=false;
    cm.builtInItems=cmb; // builtInItems属性是一个ContextMenuBuiltInItems值,
    // 需要先修改ContextMenuBuiltInItems的值,然后赋值给cm.builtInItems
    // 属性,才能对内置菜单进行修改。
    */
    ////////////////////////////////////////////////////////////////////

    ////////////编辑用户菜单////////////////////////////////////////
    var cm1:ContextMenuItem=new ContextMenuItem("菜单1",false,true,true)
    var cm2:ContextMenuItem=new ContextMenuItem("菜单2",false,true,true)
    var cm3:ContextMenuItem=new ContextMenuItem("菜单3",false,false,true)
    cm.customItems.push(cm1); // 标题名字,分割线,可用,可见
    cm.customItems.push(cm2);
    cm.customItems.push(cm3);
    ////////////注意自定义菜单是可以在运行中动态修改的。看个人发挥了////////////

    //////////////////////////侦听事件函数////////////////////////
    //注意侦听的对象是ContextMenuItem,
    //在下面依次对cm1,cm2,cm3,三个ContextMenuItem对象添加侦听。
    cm1.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT,clickMenu)
    cm2.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT,clickMenu)
    cm3.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT,clickMenu)
    function clickMenu(e:ContextMenuEvent){
    trace(e.bubbles) //false,是否冒泡
    trace(e.cancelable) //false,是否能取消
    trace(e.contextMenuOwner)//[object MovieClip],所属的对象
    trace(e.currentTarget)//[object ContextMenuItem],
    trace(e.mouseTarget)//[object MovieClip],用户右键单击以显示上下文菜单的显示列表对象。
    trace(e.target)//[object ContextMenuItem]
    trace(e.target.caption)//菜单1,可以从这里来判断,后续操作或者应该执行的函 数。
    trace(e.currentTarget.caption)//菜单1
    }
    很好很强大,方便学习
  • 相关阅读:
    设计模式之迭代器与组合模式(三)
    设计模式之迭代器与组合模式(二)
    设计模式之迭代器与组合模式(一)
    设计模式之模板方法模式(一)
    设计模式之模板方法模式(三)
    设计模式之模板方法模式(二)
    Spring Cloud微服务初探
    设计模式之适配器模式与外观模式(二)
    设计模式之适配器模式与外观模式(一)
    设计模式之命令模式(三)
  • 原文地址:https://www.cnblogs.com/top5/p/1667800.html
Copyright © 2011-2022 走看看