Apache flex 在flex中的右键单击上下文菜单中隐藏默认选项

Apache flex 在flex中的右键单击上下文菜单中隐藏默认选项,apache-flex,actionscript-3,Apache Flex,Actionscript 3,我正在开发一个flex应用程序,我想把它添加到上下文菜单中。我用这个代码得到它: var myMenu:ContextMenu = new ContextMenu(); myMenu.hideBuiltInItems(); var defaultItems:ContextMenuBuiltInItems = myMenu.builtInItems; defaultItems.print = false; var item:ContextMenuItem = new ContextMenuIte

我正在开发一个flex应用程序,我想把它添加到上下文菜单中。我用这个代码得到它:

var myMenu:ContextMenu = new ContextMenu();
myMenu.hideBuiltInItems();
var defaultItems:ContextMenuBuiltInItems = myMenu.builtInItems;
defaultItems.print = false;

var item:ContextMenuItem = new ContextMenuItem("Go to google");
myMenu.customItems.push(item);
item.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, menuItemSelectHandler);

this.contextMenu = myMenu;
但我有个问题。菜单显示四个默认选项(设置、关于flash…),我想隐藏它们。带有defaultItems.print=false;我隐藏了打印选项,但我不知道如何隐藏其他选项。 有人知道怎么做吗? 谢谢。

如参考所述

无法删除“设置”菜单 从上下文菜单中选择项。这个 中需要设置菜单项 闪存,以便用户可以访问 影响隐私和隐私的设置 他们计算机上的存储。你也 无法删除“关于”菜单项, 这是必需的,以便用户可以 了解Flash Player的版本 他们正在使用


因此,您只需接受
设置
关于
项。有关其他默认项,请参阅参考。

有一种技术可以从flash的上下文菜单中隐藏设置、关于flash等。高级概念是在HTML容器中使用JavaScript来禁用SWF顶部的右键单击。捕获事件,然后使用ExternalInterface API将其转发到Flex应用程序,该API允许您从JavaScript调用Flex函数。调用Flex应用程序中定义的函数,以显示仅包含所需菜单项的自定义上下文菜单。这避开了Flash/Flex中的硬连线行为,在这种情况下,鼠标右键单击总是会导致出现一个带有设置的上下文菜单,其中包含关于内容的内容


在这个

Kezem中可以找到详细的演练,我在使用Flex应用程序替代Java Swing应用程序时也遇到了这个问题。上下文菜单中暴露了一些功能,设置的内容让我们的用户感到困惑。我在网上做了一些挖掘,找到了下面描述的解决方案。