右键单击菜单选项上的删除按钮

时间:2011-06-12 04:54:20

标签: actionscript-3 flex flex3

当用户右键单击按钮时,将显示“删除”上下文菜单项。如果用户单击“删除”选项,则应从其“平铺”父容器中删除该按钮。我如何使用Flex 3和ActionScript 3实现这一点?

1 个答案:

答案 0 :(得分:1)

您需要创建一个自定义flash.ui.ContextMenu,其中添加了与您希望用户选择的删除文字相对应的ContextMenuItem

向此ContextMenuItem添加一个事件监听器,该监听器将处理删除所点击的项目。以下是实现删除的一种方法:

  private function removeItemHandler(event:ContextMenuEvent):void
  {
    ((event.mouseTarget as DisplayObject).parent as DisplayObjectContainer).removeChild((event.mouseTarget as DisplayObject));
    Alert.show((event.mouseTarget.toString() + " has been removed."),"Display Object Removed");
  }

最后,请务必将要删除的所有组件(contextMenu)的InteractiveObject属性设置为您创建的自定义ContextMenu

注意

上面的代码对应于Flex 3,因为问题指明了。对于Flex 4,可以使用IVisualElementIVisualElementContainerremoveElement方法代替DisplayObjectDisplayObjectContainerremoveChild方法,分别。