Элементы меню FlashPlayers по умолчанию.
Насколько я знаю, вы не можете удалить основные элементы FlashPlayer (Настройки и О программе), которые имеют смысл.
Встроенные элементы FlashPlayers
Вы можете удалить верхние (Play, Pause и т. Д.), Указав его при компиляции или из кода:
contextMenu.hideBuiltInItems();
или в глобальном контексте:
stage.showDefaultContextMenu = false;
Элементы меню, связанные с TextField
Копирование / вставка / выделение также встроено для TextFields, и кажется, что вы не сможете их скрыть. Однако, поскольку кажется, что вы действительно хотите избавиться от них, вот обходной путь .
В приведенном ниже примере показано, как можно добавить прозрачную кнопку поверх textField, чтобы отвести поведение мыши в сторону:
package
{
import flash.display.Sprite;
import flash.display.Stage;
import flash.events.MouseEvent;
import flash.text.TextField;
import flash.text.TextFieldType;
import flash.ui.ContextMenu;
public class TestText extends Sprite
{
private var textField:TextField;
public function TestText()
{
// Removes the inbuit items from the contextMenu
var contextMenu:ContextMenu = new ContextMenu();
contextMenu.hideBuiltInItems();
this.contextMenu = contextMenu;
// Adds a simple input TextField
textField = addChild(new TextField()) as TextField;
textField.type = TextFieldType.INPUT;
textField.text = "Test Text";
// Covers the TextField with a transparent shape
var shape:Sprite = addChild(new Sprite()) as Sprite;
shape.graphics.beginFill(0, 0);
shape.graphics.drawRect(0, 0, textField.width, textField.height);
shape.mouseChildren = false;
// Listens to a click on the mask to activate typing
shape.addEventListener(MouseEvent.CLICK, eventClickHandler);
}
private function eventClickHandler(event:MouseEvent):void
{
// Sets the focus to the underlaying TextField and makes
// a full selection of the existing text.
stage.focus = textField;
textField.setSelection(0, textField.text.length);
}
}
}