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

Kez*_*ern 8 apache-flex actionscript-3

我正在开发一个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;
Run Code Online (Sandbox Code Playgroud)

但我有一个问题.菜单显示四个默认选项(设置,关于闪光...)我想隐藏它们.使用defaultItems.print = false; 我隐藏了打印选项,但我不知道如何隐藏其他选项.有谁知道怎么做?谢谢.

Ped*_*ada 14

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

可以在此链接中找到详细的演练.


kky*_*kyy 9

作为ContextMenu的参考,

您无法从上下文菜单中删除"设置"菜单项.Flash中需要"设置"菜单项,以便用户可以访问影响其计算机上的隐私和存储的设置.您也无法删除"关于"菜单项,这是必需的,以便用户可以找到他们使用的Flash Player版本.

所以你只需要SettingsAbout物品一起生活.对于其他默认项,请参阅ContextMenuBuiltInItems的参考.