上下文菜单在Flash Player 10.1中不起作用

时间:2011-06-23 06:27:35

标签: flex flex3 flexbuilder

我写了一个flex应用程序。我在上下文菜单中添加了一些自定义菜单项。当我使用flashplayer 10.0编译此代码时,它工作正常,我右键单击时显示我添加的上下文菜单项。但是当我为flashPlayer 10.1编译相同的代码时,我在右键单击时不会显示我在上下文菜单中添加的菜单项。我该怎么做才能解决这个问题? 我正在使用sdk 3.5。

任何帮助或建议都将不胜感激。

我这样做;

    private var cm:ContextMenu = new ContextMenu();        
    var versionMenu:ContextMenuItem = null;
    var dateMenu:ContextMenuItem = null;
    if(model.appVersion.length > 0)
    {
      versionMenu = new ContextMenuItem(model.appVersion);
    }
    if(model.releaseDate.length > 0)
    {
      dateMenu = new ContextMenuItem(model.releaseDate);
    }

     cm.hideBuiltInItems();
     var cmArray:Array = new Array();
     if(versionMenu != null)
       cmArray.push(versionMenu);
     if(dateMenu != null)
       cmArray.push(dateMenu);
     cm.customItems = cmArray;

感谢。

2 个答案:

答案 0 :(得分:1)

没有理由。它在flashPlayer 10.1中适用于我。此外,它在10.1中列为支持:http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/ui/ContextMenu.html

警告代码中的isSupported属性进行双重检查(绝对是正确的)。

答案 1 :(得分:1)

如果您正在尝试为Application创建上下文菜单,那么这里是正确的代码:

<s:Application ... initialize="init();">

    private function init():void
    {
        var versionItem:ContextMenuItem = new ContextMenuItem("Version 1.5.443");
        contextMenu.hideBuiltInItems();
        contextMenu.customItems = [ versionItem ];
    }

</s:Application>