Кнопка «Удалить» в контекстном меню - PullRequest
1 голос
/ 12 июня 2011

Элемент контекстного меню «Удалить» отображается, когда пользователь щелкает правой кнопкой мыши по кнопке.Если пользователь нажимает на опцию «Удалить», эта кнопка должна быть удалена из его родительского контейнера Tile.Как бы я реализовал это, используя Flex 3 и ActionScript 3?

1 Ответ

1 голос
/ 13 июня 2011

Вам необходимо создать пользовательский flash.ui.ContextMenu , к которому добавляется ContextMenuItem , соответствующий тексту Remove , который вы хотите, чтобы пользовательselect.

Добавьте прослушиватель событий к этому 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 вместо методов DisplayObject, DisplayObjectContainer и removeChild, соответственно, следует использовать IVisualElement, IVisualElementContainer и метод removeElement.

...