Пакет | flash.events |
Класс | public class ContextMenuEvent |
Наследование | ContextMenuEvent Event Object |
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
-
ContextMenuEvent.MENU_ITEM_SELECT
-
ContextMenuEvent.MENU_SELECT
Связанные элементы API
Свойство | Определено | ||
---|---|---|---|
bubbles : Boolean [только для чтения]
Определяет, является ли событие событием восходящей цепочки. | Event | ||
cancelable : Boolean [только для чтения]
Указывает, можно ли предотвратить поведение, связанное с событием. | Event | ||
constructor : Object
Ссылка на объект класса или функцию конструктора для данного экземпляра объекта. | Object | ||
contextMenuOwner : InteractiveObject
Объект списка отображения, к которому присоединено меню. | ContextMenuEvent | ||
currentTarget : Object [только для чтения]
Объект, активно обрабатывающий объект Event с помощью прослушивателя событий. | Event | ||
eventPhase : uint [только для чтения]
Текущая фаза в потоке событий. | Event | ||
isMouseTargetInaccessible : Boolean
Указывает на то, было ли свойству mouseTarget присвоено значение null по соображениям безопасности. | ContextMenuEvent | ||
mouseTarget : InteractiveObject
Объект списка отображения, который пользователь щелкает правой кнопкой мыши для отображения контекстного меню. | ContextMenuEvent | ||
target : Object [только для чтения]
Целевой объект события. | Event | ||
type : String [только для чтения]
Тип события. | Event |
Метод | Определено | ||
---|---|---|---|
ContextMenuEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false, mouseTarget:InteractiveObject = null, contextMenuOwner:InteractiveObject = null)
Создает объект Event, содержащий данные о событиях меню. | ContextMenuEvent | ||
[переопределить]
Создает копию объекта ContextMenuEvent и задает значение каждого свойства, совпадающее с оригиналом. | ContextMenuEvent | ||
Служебная функция для реализации метода toString() в пользовательских классах ActionScript 3.0 Event. | Event | ||
Показывает, определено ли заданное свойство для объекта. | Object | ||
Проверяет, выполнялся ли для события вызова метода preventDefault(). | Event | ||
Показывает, есть ли экземпляр класса Object в цепи прототипов объекта, заданного в качестве параметра. | Object | ||
Отменяет поведение по умолчанию для события, если такое поведение можно отменить. | Event | ||
Показывает наличие заданного свойства и его перечисляемость. | Object | ||
Задает доступность динамического свойства для операций цикла. | Object | ||
Отменяет обработку прослушивателей событий в текущем узле, а также во всех узлах, которые следуют в потоке событий за текущим узлом. | Event | ||
Отменяет обработку прослушивателей событий в узлах, которые следуют в потоке событий за текущим узлом. | Event | ||
Возвращает строковое представление этого объекта, отформатированного в соответствии со стандартами, принятыми для данной локали. | Object | ||
[переопределить]
Возвращает строку, содержащую все свойства объекта ContextMenuEvent. | ContextMenuEvent | ||
Возвращает элементарное значение заданного объекта. | Object |
Константа | Определено | ||
---|---|---|---|
MENU_ITEM_SELECT : String = "menuItemSelect" [статические]
Определяет значение свойства type объекта события «menuItemSelect». | ContextMenuEvent | ||
MENU_SELECT : String = "menuSelect" [статические]
Определяет значение свойства type объекта события menuSelect. | ContextMenuEvent |
contextMenuOwner | свойство |
contextMenuOwner:InteractiveObject
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Объект списка отображения, к которому присоединено меню. Это может быть цель мыши (mouseTarget
) или один из его предков в списке отображения.
Реализация
public function get contextMenuOwner():InteractiveObject
public function set contextMenuOwner(value:InteractiveObject):void
isMouseTargetInaccessible | свойство |
isMouseTargetInaccessible:Boolean
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 10 |
Указывает на то, было ли свойству mouseTarget
присвоено значение null
по соображениям безопасности. Если номинальным значением свойства menuTarget
является ссылка на объект DisplayObject
в другой изолированной программной среде, свойство menuTarget
принимает значение null
, пока не будут заданы двусторонние права в границах данной изолированной среды. Права задаются путем вызова метода Security.allowDomain()
из SWF-файла или путем указания файла политики на сервере файла изображения и установки флага LoaderContext.checkPolicyFile
при загрузке изображения.
Реализация
public function get isMouseTargetInaccessible():Boolean
public function set isMouseTargetInaccessible(value:Boolean):void
Связанные элементы API
mouseTarget | свойство |
mouseTarget:InteractiveObject
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Объект списка отображения, который пользователь щелкает правой кнопкой мыши для отображения контекстного меню. Это может быть объект списка отображения, к которому прикреплено меню (contextMenuOwner
), или один из его потомков в списке отображения.
Это свойство может принимать значение null
по двум причинам: отсутствует целевой объект для мыши (например, курсор мыши находится над объектом фона) или существует целевой объект для мыши, но он находится в изолированной среде безопасности, доступ к которой запрещен. Используйте свойство isMouseTargetInaccessible()
для определения причины.
Реализация
public function get mouseTarget():InteractiveObject
public function set mouseTarget(value:InteractiveObject):void
Связанные элементы API
ContextMenuEvent | () | Конструктор |
public function ContextMenuEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false, mouseTarget:InteractiveObject = null, contextMenuOwner:InteractiveObject = null)
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Создает объект Event, содержащий данные о событиях меню. Объекты Event передаются прослушивателям событий в качестве параметров.
Параметрыtype:String — Тип события. Возможные значения:
| |
bubbles:Boolean (default = false ) — Определяет, участвует ли объект Event в фазе восходящей цепочки потока событий. Прослушиватели событий могут получать эту информацию через унаследованное свойство bubbles .
| |
cancelable:Boolean (default = false ) — Определяет, можно ли отменить объект Event. Прослушиватели событий могут получать эту информацию через унаследованное свойство cancelable .
| |
mouseTarget:InteractiveObject (default = null ) — Объект списка отображения, который пользователь щелкает правой кнопкой мыши для отображения контекстного меню. Это может быть contextMenuOwner или один из его нижестоящих элементов в списке отображения.
| |
contextMenuOwner:InteractiveObject (default = null ) — Объект списка отображения, к которому присоединено меню. Это может быть mouseTarget или один из его предков в списке отображения.
|
Связанные элементы API
clone | () | метод |
override public function clone():Event
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Создает копию объекта ContextMenuEvent и задает значение каждого свойства, совпадающее с оригиналом.
ВозвращаетEvent — Новый объект ContextMenuEvent, значения свойств которого соответствуют значениям оригинала.
|
toString | () | метод |
override public function toString():String
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Возвращает строку, содержащую все свойства объекта ContextMenuEvent. Строка имеет следующий формат:
[ContextMenuEvent type=value bubbles=value cancelable=value ... contextMenuOwner=value]
String — Строка, содержащая все свойства объекта ContextMenuEvent.
|
MENU_ITEM_SELECT | Константа |
public static const MENU_ITEM_SELECT:String = "menuItemSelect"
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Определяет значение свойства type
объекта события menuItemSelect
.
Это событие имеет следующие свойства:
Свойство | Значение |
---|---|
bubbles | false |
cancelable | false ; поведение по умолчанию, подлежащее отмене, не определено. |
contextMenuOwner | Объект списка отображения, к которому присоединено меню. |
currentTarget | Объект, активно обрабатывающий объект Event с помощью прослушивателя событий. |
mouseTarget | Объект списка отображения, который пользователь щелкает правой кнопкой мыши для отображения контекстного меню. |
target | Выбранный объект ContextMenuItem. Свойство target не всегда является объектом из списка отображения, для которого зарегистрирован прослушиватель событий. Используйте свойство currentTarget для обращения к объекту в списке отображения, обрабатывающему событие в данный момент. |
Связанные элементы API
MENU_SELECT | Константа |
public static const MENU_SELECT:String = "menuSelect"
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Определяет значение свойства type
объекта события menuSelect
.
Это событие имеет следующие свойства:
Свойство | Значение |
---|---|
bubbles | false |
cancelable | false ; поведение по умолчанию, подлежащее отмене, не определено. |
contextMenuOwner | Объект списка отображения, к которому присоединено меню. |
currentTarget | Объект, активно обрабатывающий объект Event с помощью прослушивателя событий. |
mouseTarget | Объект списка отображения, который пользователь щелкает правой кнопкой мыши для отображения контекстного меню. |
target | Объект ContextMenu, который сейчас будет отображаться. Свойство target не всегда является объектом из списка отображения, для которого зарегистрирован прослушиватель событий. Используйте свойство currentTarget для обращения к объекту в списке отображения, обрабатывающему событие в данный момент. |
Связанные элементы API
ContextMenuEventExample
для удаления элементов контекстного меню по умолчанию из рабочей области и добавления нового элемента меню, изменяющего свет квадрата в рабочей области. Для этого выполняются следующие задачи:
- Объявляется свойство
myContextMenu
, которое затем назначается новому объекту ContextMenu, и свойствоredRectangle
(типа Sprite). - Вызывается метод
removeDefaultItems()
. Этот метод удаляет все встройнные элементы контекстного меню, кроме «Печать». - Вызывается метод
addCustomMenuItems()
. Этот метод помещает элемент менюПротивоположные цвета
в массивеdefaultItems
с помощью методаpush()
объекта Array. Для объекта ContextMenuItem добавляется прослушиватель событийmenuItemSelect
и вызывается соответствующий методmenuItemSelectHandler()
. Этот метод печатает несколько выписокtrace()
при каждом выборе позиции «Противоположные цвета» из контекстного меню. Помимо этого, красный квадрат становится черным, а черный текст - красным. - В конструкторе добавляется прослушиватель событий
menuSelect
и соответствующий методmenuSelectHandler()
, который просто распечатывает три выпискиtrace()
при каждом выборе элемента в контекстном меню. - Конструктор вызывает метод
addChildren()
, который рисует красный квадрат и добавляет его в список отображения, который сразу показывает квадрат. - В завершение,
myContextMenu
назначается контекстному меню свойстваredRectangle
, чтобы пользовательское контекстное меню отображалось, только когда указатель мыши находится над квадратом.
package { import flash.ui.ContextMenu; import flash.ui.ContextMenuItem; import flash.ui.ContextMenuBuiltInItems; import flash.events.ContextMenuEvent; import flash.display.Sprite; import flash.display.Shape; import flash.text.TextField; public class ContextMenuEventExample extends Sprite { private var myContextMenu:ContextMenu; private var menuLabel:String = "Reverse Colors"; private var textLabel:String = "Right Click"; private var redRectangle:Sprite; private var label:TextField; private var size:uint = 100; private var black:uint = 0x000000; private var red:uint = 0xFF0000; public function ContextMenuEventExample() { myContextMenu = new ContextMenu(); removeDefaultItems(); addCustomMenuItems(); myContextMenu.addEventListener(ContextMenuEvent.MENU_SELECT, menuSelectHandler); addChildren(); redRectangle.contextMenu = myContextMenu; } private function addChildren():void { redRectangle = new Sprite(); redRectangle.graphics.beginFill(red); redRectangle.graphics.drawRect(0, 0, size, size); addChild(redRectangle); redRectangle.x = size; redRectangle.y = size; label = createLabel(); redRectangle.addChild(label); } private function removeDefaultItems():void { myContextMenu.hideBuiltInItems(); var defaultItems:ContextMenuBuiltInItems = myContextMenu.builtInItems; defaultItems.print = true; } private function addCustomMenuItems():void { var item:ContextMenuItem = new ContextMenuItem(menuLabel); myContextMenu.customItems.push(item); item.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, menuItemSelectHandler); } private function menuSelectHandler(event:ContextMenuEvent):void { trace("menuSelectHandler: " + event); } private function menuItemSelectHandler(event:ContextMenuEvent):void { trace("menuItemSelectHandler: " + event); var textColor:uint = (label.textColor == black) ? red : black; var bgColor:uint = (label.textColor == black) ? black : red; redRectangle.graphics.clear(); redRectangle.graphics.beginFill(bgColor); redRectangle.graphics.drawRect(0, 0, size, size); label.textColor = textColor; } private function createLabel():TextField { var txtField:TextField = new TextField(); txtField.text = textLabel; return txtField; } } }
Tue Jun 12 2018, 11:34 AM Z