我写了一个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;
感谢。
答案 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>