禁用Flash 9中的右键菜单

8

使用ActionScript 3是否有可能禁用右键菜单?

非常感谢任何帮助!


1
Flash Player 11.2中已添加了此API,请参见https://dev59.com/LEbRa4cB1Zd3GeqPwgl2#12519480。 - user1587219
8个回答

24

你可以使用以下代码:

stage.showDefaultContextMenu = false;

隐藏除了设置选项以外的所有内容。


1
@brenjt 不,这也会隐藏Flash Player菜单。我更喜欢使用myContextMenu.hideBuiltInItems(); - Bitterblue

19

从Flash Player 11.2开始,现在可以覆盖鼠标右键单击的行为,例如。

stage.addEventListener(MouseEvent.RIGHT_CLICK, function(e:Event){});

这里是ActionScript 3参考文档中相应的条目(英文链接)


现在这个才是最好的消息! - Bitterblue
这让我的Flash Player崩溃了。我甚至无法捕获到运行时错误。它只是崩溃了。我正在针对Flash Player 21进行开发。 - Kyle Delaney

4

3
根据Lain所说,你可以隐藏除了“设置”项以外的所有内容。
顺便说一下:如果你需要自定义它,你可以使用flash.ui包中的ContextMenu类。首先调用hideBuiltInItems来隐藏除了设置之外的所有内容,然后将其分配给你想要使用菜单的对象(或整个小程序的根目录)的menu属性。
另外,有一个很好的教程,你可以在这里找到。

2

这段代码也可以正常工作

var newMenu=new ContextMenu();
newMenu.hideBuiltInItems();
this.menu = newMenu;

1
你好,几年后的现在。 我也遇到了同样的问题,但是使用的是触摸屏幕。如果你将指针设备(我的手指)长时间触摸屏幕超过一秒钟,“右键菜单”就会出现。我通过进入Windows7的控制面板,在“笔和输入设备”下的“触摸”选项卡中,选择“操作”,关闭“按住保持”的操作来解决了这个问题。 我的Windows系统是西班牙语的,名称可能有些不同,但我相信你会知道哪个按钮是哪个。

0

这是更好的选择

_level1._y = 195;
var myMenu:ContextMenu = new ContextMenu();
myMenu.hideBuiltInItems();
_root.menu = myMenu;

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接