月度存档: 10 月 2010

flash中的右键菜单ContextMenu

帮助文档上的例子太繁琐了,我自己简化了下,方便以后备忘了:

    import flash.events.ContextMenuEvent;
    import flash.ui.ContextMenuItem;
    import flash.ui.ContextMenu;
    import flash.ui.ContextMenuBuiltInItems;

var myContextMenu = new ContextMenu();
root.contextMenu = myContextMenu;

 myContextMenu.hideBuiltInItems();//隐藏默认项
 var defaultItems:ContextMenuBuiltInItems = myContextMenu.builtInItems;
  defaultItems.print = true;//显示打印项

var item:ContextMenuItem = new ContextMenuItem(“menuLabel”);//加入新项

item.enabled = false;//可用状态
item.separatorBefore = false;//上方分割条

myContextMenu.customItems.push(item);
item.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, menuItemSelectHandler);
function menuItemSelectHandler(event:ContextMenuEvent):void {
            trace(“menuSelectHandler: ” + event);
        }

addEventListener参数详解

 

addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int=0,useWeakReference:Boolean = false):void

type:  不解释了。

listener:  也不解释了。

useCapture:  是否用于捕捉阶段,因为flash的事件机制有三个阶段:捕捉阶段,目标阶段,冒泡阶段。

priority:int  事件触发的优先级

useWeakReference: 确定对侦听器的引用是强引用,还是弱引用。 强引用(默认值)可防止您的侦听器被当作垃圾回收。 弱引用则没有此作用。