×
文章路径: Flex

Flex使用自定义右键菜单

发表于3年前(Dec 24, 2014 9:17:08 AM)  阅读 344  评论 0

分类: Flex

标签: ContextMenu 右键菜单

在应用程序开发过程中,经常会遇到要使用右键菜单的情况,不管是flex web工程还是AIR桌面应用程序,flex是支持自定义右键菜单的,以web工程为例:
1、首先new一个自己的ContextMenu出来,ContextMenu可以看成是整个右键菜单窗口
private var nodeMenu:ContextMenu = new ContextMenu();
2、然后new自己的一个个菜单项
var menu1:ContextMenuItem = new ContextMenuItem(“右键菜单一”);
3、给菜单项加入处理事件
menu1.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT,menudraw);
4、将自己的菜单项加入新的ContextMenu中
nodeMenu.customItems.push(menu1);
5、然后把系统自带的菜单隐藏
nodeMenu.hideBuiltInItems();
6、最后将新的菜单设置到需要展现的控件上
view.contextMenu = NodeMenu;
这里view是InteractiveObject的子类,如Canvas,Box等

附flex3 api中对ContextMenu的介绍:

ContextMenu 类提供对 Flash Player 上下文菜单中的项的控制。用户通过在 Flash Player 中右击 (Windows) 或按住 Control 单击 (Macintosh) 可打开上下文菜单。您可以使用 ContextMenu 类的方法和属性添加自定义菜单项,控制内置上下文菜单项的显示(例如“放大”和“打印”),或者创建菜单的副本。

若要向 ContextMenu 对象中添加新项,可以创建一个 ContextMenuItem 对象,然后将该对象添加到ContextMenu.customItems 数组。有关创建上下文菜单项的详细信息,请参阅 ContextMenuItem 类条目。

Flash Player 有三种类型的上下文菜单:标准菜单(当您在 Flash Player 中右键单击时出现)、编辑菜单(当您在可选择或可编辑的文本字段中右键单击时出现)和错误菜单(当 SWF 文件未能加载到 Flash Player 中时出现)。只有标准菜单和编辑菜单才能使用 ContextMenu 类进行修改。

自定义菜单项始终出现在 Flash Player 上下文菜单的顶部,并位于所有可见内置菜单项之上;内置菜单项和自定义菜单项之间由一个分隔条加以分隔。向上下文菜单添加的自定义菜单项不得超过 15 个。您不能从上下文菜单中删除“设置”菜单项。在 Flash 中,必须有“设置”菜单项,以便用户能够访问影响其计算机上的隐私和存储的设置。您也不能删除“关于”菜单项,必须具有这个菜单项,以便用户能够了解正在使用的 Flash Player 的版本。

发表评论