Пакет | flash.display |
Класс | public class NativeMenu |
Наследование | NativeMenu EventDispatcher Object |
Подклассы | ContextMenu |
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0 |
Поддержка в профилях AIR: эта функция поддерживается во всех компьютерных операционных системах, но не поддерживается на мобильных устройствах или на устройствах AIR for TV. Используйте свойство NativeMenu.isSupported
, чтобы проверить наличие поддержки в среде выполнения. Дополнительные сведения о поддержке API-интерфейса в разных профилях см. в разделе «Поддержка в профилях AIR».
Собственное меню — это меню, которое управляется и отображается операционной системой, а не программой. AIR поддерживает следующие типы собственных меню:
-
Меню программы поддерживаются в ОС Mac OS X. Используйте свойство
NativeApplication.supportsMenu
, чтобы узнать, поддерживаются ли меню программы в операционной системе хоста. Меню программы отображается в строке меню вверху рабочего стола Mac. ОС Mac OS X меню по умолчанию для каждой программы, но многие из перечисленных в нем команд нефункциональны. Можно добавить прослушивателей событий для пунктов по умолчанию, заменить отдельные меню и пункты, а также полностью заменить меню по умолчанию. Для доступа к объекту меню программы служит свойствоmenu
экземпляра NativeApplication. -
Меню окон поддерживаются в ОС Windows и ОС Linux. Используйте свойство
NativeWindow.supportsMenu
, чтобы проверить, поддерживаются ли меню окна в операционной системе хоста. Меню окна отображается под строкой заголовка окна. Область, занимаемая меню, не входит в состав рабочей области окна. Программы не могут использовать эту область для рисования. Чтобы назначить окну меню, используйте свойствоmenu
экземпляра NativeWindow. -
Меню значков на панели Dock поддерживаются в ОС Mac OS X. Используйте свойство
NativeApplication.supportsDockIcon
, чтобы узнать, поддерживаются ли значки на панели Dock в операционной системе хоста. Пункты в меню значка на панели Dock отображаются над элементами по умолчанию, предусмотренными в операционной системе. Доступ к пунктам по умолчанию нельзя получить посредством кода программы. Задайте меню для свойстваmenu
объекта DockIcon программы. -
Меню значков на панели задач поддерживаются в ОС Windows и в большинстве версий ОС Linux. Используйте свойство
NativeWindow.supportsSystemTrayIcon
, чтобы проверить, поддерживаются ли значки на панели задач в операционной системе хоста. Меню значка на панели задач отображается в ответ на щелчок правой кнопкой мыши по значку, как и контекстное меню. Задайте меню для свойстваmenu
объекта SystemTrayIcon программы. -
Контекстные меню поддерживаются во всех операционных системах. Контекстные меню отображаются в ответ на событие пользовательского интерфейса, например на нажатие правой кнопки мыши или на нажатие кнопки мыши одновременно с клавишей Command над объектом InteractiveObject, отображаемым в программе. Механизм пользовательского интерфейса, используемый для отображения меню, может быть разным в зависимости от операционной системы и аппаратных средств компьютера. Задайте меню для свойства
contextMenu
объекта InteractiveObject. В AIR контекстное меню можно создать с помощью класса NativeMenu или ContextMenu. В Flash Player для этого можно использовать только класс ContextMenu. Объекты ContextMenu в AIR не имеют встроенных элементов; контекстное меню по умолчанию не отображается. -
Раскрывающиеся меню поддерживаются во всех операционных системах. Раскрывающиеся меню выполняют те же функции, что и контекстные меню, но отображаются они с использованием метода
display()
объекта меню, а не в ответ на событие пользовательского ввода. Раскрывающееся меню не присоединяются к другим объектам. Просто необходимо создать собственное меню и вызвать методdisplay()
.
Объект меню содержит элементы меню. Элементом меню может быть команда, подменю или разделительная линия. Добавить элементы в меню можно с помощью метода addItem()
или addItemAt()
. Порядок отображения элементов меню соответствует порядку элементов в массиве items
меню.
Чтобы создать подменю, добавьте элемент меню в родительский объект меню. Назначьте объект меню, представляющий подменю, свойству submenu
соответствующего элемента родительского меню.
Примечание. Корневое меню окна и меню программы должны содержать только элементы подменю. Элементы, не представляющие собой подменю, не показываются, так как они противоречат ожиданиям пользователей от меню такого типа.
Меню отправляют события select
, когда в меню или подменю выбирается элемент команды. (Подменю и разделители выбрать нельзя.) Свойство target
объекта события ссылается на выбранный элемент.
Меню отправляют события preparing
непосредственно перед отображением меню и при нажатии эквивалентной комбинации клавиш, назначенной для одного из элементов меню. Это событие можно использовать для обновления содержимого меню на основе текущего состояния приложения.
Примечание. Если используется ПО Flex Framework, рекомендуется использовать класс FlexNativeMenu. Обычно легче определить меню путем объявления в MXML, чем писать код ActionScript для создания каждого элемента структуры меню
Связанные элементы API
flash.display.NativeMenuItem
flash.display.NativeWindow.menu
flash.desktop.DockIcon
flash.desktop.SystemTrayIcon
flash.desktop.NativeApplication.menu
flash.desktop.NativeApplication.icon
mx.controls.FlexNativeMenu
Свойство | Определено | ||
---|---|---|---|
constructor : Object
Ссылка на объект класса или функцию конструктора для данного экземпляра объекта. | Object | ||
isSupported : Boolean [статические] [только для чтения]
Указывает, поддерживается ли в клиентской системе какая-либо форма собственного меню. | NativeMenu | ||
items : Array
Массив объектов NativeMenuItem в данном меню. | NativeMenu | ||
numItems : int [только для чтения]
Количество объектов NativeMenuItem в данном меню. | NativeMenu | ||
parent : NativeMenu [только для чтения]
Родительское меню. | NativeMenu |
Метод | Определено | ||
---|---|---|---|
Создает новый объект NativeMenu. | NativeMenu | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Регистрирует объект прослушивателя события на объекте EventDispatcher для получения прослушивателем уведомления о событии. | EventDispatcher | ||
Добавляет элемент в конец меню. | NativeMenu | ||
Вставляет элемент меню в указанное положение. | NativeMenu | ||
Добавляет подменю в меню путем вставки нового элемента меню. | NativeMenu | ||
Добавляет подменю в меню, вставляя новый элемент меню в заданное положение. | NativeMenu | ||
Создает копию меню и всех элементов. | NativeMenu | ||
Сообщает, содержит ли меню указанный элемент. | NativeMenu | ||
Посылает событие в поток событий. | EventDispatcher | ||
Добавляет раскрывающееся меню в заданном положении. | NativeMenu | ||
Определяет элемент меню, расположенный по заданному индексу. | NativeMenu | ||
Определяет элемент меню с заданным именем. | NativeMenu | ||
Определяет положение заданного элемента. | NativeMenu | ||
Проверяет, имеет ли объект EventDispatcher прослушиватели, зарегистрированные для определенного типа события. | EventDispatcher | ||
Показывает, определено ли заданное свойство для объекта. | Object | ||
Показывает, есть ли экземпляр класса Object в цепи прототипов объекта, заданного в качестве параметра. | Object | ||
Показывает наличие заданного свойства и его перечисляемость. | Object | ||
Удаляет все пункты меню. | NativeMenu | ||
Удаляет прослушиватель из объекта EventDispatcher. | EventDispatcher | ||
Удаляет заданный элемент меню. | NativeMenu | ||
Удаляет и возвращает элемент меню в заданный индекс. | NativeMenu | ||
Перемещает элемент меню в заданное положение. | NativeMenu | ||
Задает доступность динамического свойства для операций цикла. | Object | ||
Возвращает строковое представление этого объекта, отформатированного в соответствии со стандартами, принятыми для данной локали. | Object | ||
Возвращает строковое представление заданного объекта. | Object | ||
Возвращает элементарное значение заданного объекта. | Object | ||
Проверяет, зарегистрирован ли прослушиватель события для указанного типа события с данным объектом EventDispatcher или любым его предшественником. | EventDispatcher |
Событие | Сводка | Определено | ||
---|---|---|---|---|
[многоадресное событие] Отправляется, когда проигрыватель Flash Player или приложение AIR перемещается в фокус операционной системы и становится активным. | EventDispatcher | |||
[многоадресное событие] Отправляется, когда проигрыватель Flash Player или приложение AIR теряет фокус системы и становится неактивным. | EventDispatcher | |||
Отправляется этим объектом NativeMenu непосредственно перед показом меню. | NativeMenu | |||
Отправляется объектом NativeMenu при нажатии его эквивалентной комбинации клавиш и непосредственно перед отображением меню. | NativeMenu | |||
Отправляется этим объектом NativeMenu при выборе одного из элементов меню или элемента одного из подменю. | NativeMenu |
isSupported | свойство |
items | свойство |
items:Array
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0 |
Массив объектов NativeMenuItem в данном меню.
Массив сортируется в порядке отображения.
Примечание. Это свойство доступно только для чтения в AIR 1.0. Оно становится доступным для чтения или записи в AIR 1.1.
Реализация
public function get items():Array
public function set items(value:Array):void
numItems | свойство |
parent | свойство |
parent:NativeMenu
[только для чтения] Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0 |
Родительское меню.
parent
корневого объекта меню (верхнего уровня) является null
.
Реализация
public function get parent():NativeMenu
NativeMenu | () | Конструктор |
public function NativeMenu()
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0 |
Создает новый объект NativeMenu.
addItem | () | метод |
public function addItem(item:NativeMenuItem):NativeMenuItem
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0 |
Добавляет элемент в конец меню.
При создании контекстного меню можно добавлять объекты NativeMenuItem или ContextMenuItem. Однако рекомендуется использовать только один тип объектов в контекстном меню, чтобы все элементы меню имели одинаковые свойства.
Примечание. Добавление элемента к меню может привести к зависанию приложения, если подменю элемента установлено на собственное меню (вызывает циклическую ссылку).
Параметры
item:NativeMenuItem — Объект NativeMenuItem для добавления в конец меню.
|
NativeMenuItem |
Выдает
ArgumentError — Если item имеет значение null .
| |
ArgumentError — Если item является составным элементом другого меню.
|
addItemAt | () | метод |
public function addItemAt(item:NativeMenuItem, index:int):NativeMenuItem
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0 |
Вставляет элемент меню в указанное положение. Положение индексируется начиная сверху. Установите для параметра index
значение «0», чтобы вставить элемент в начале меню. Индексация позиции всех типов меню (окно, приложение, значок в панели задач, значок в доке, контекстное и всплывающее меню) начинается сверху.
Параметры
item:NativeMenuItem — Вставляемый объект NativeMenuItem.
| |
index:int — Положение в меню (от нуля), выбранное для вставки элемента меню.
Примечание. Добавление элемента к меню может привести к зависанию приложения, если подменю элемента установлено на собственное меню (вызывает циклическую ссылку). |
NativeMenuItem |
Выдает
ArgumentError — Если item имеет значение null .
| |
ArgumentError — Если item является составным элементом другого меню.
| |
RangeError — Если индекс находится за пределами массива items меню.
|
addSubmenu | () | метод |
public function addSubmenu(submenu:NativeMenu, label:String):NativeMenuItem
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0 |
Добавляет подменю в меню путем вставки нового элемента меню.
Вызов метода addSubMenu()
равносилен созданию нового элемента меню, его добавлению в меню и назначению объекта NativeMenu свойству submenu
элемента.
Примечание. Добавление меню в качестве подменю для самого себя (по циклической ссылке) может привести к зависанию приложения.
Параметры
submenu:NativeMenu — Объект NativeMenu, определяющий добавляемое подменю.
| |
label:String — Ярлык отображения для добавляемого элемента меню.
|
NativeMenuItem — Объект NativeMenuItem, созданный для подменю.
|
addSubmenuAt | () | метод |
public function addSubmenuAt(submenu:NativeMenu, index:int, label:String):NativeMenuItem
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0 |
Добавляет подменю в меню, вставляя новый элемент меню в заданное положение.
Вызов метода addSubMenuAt()
равносилен созданию нового элемента меню, вставке его в желаемое положение в меню и назначению объекта NativeMenu свойству submenu
элемента.
Примечание. Добавление меню в качестве подменю для самого себя (по циклической ссылке) может привести к зависанию приложения.
Параметры
submenu:NativeMenu — Объект NativeMenu, определяющий добавляемое подменю.
| |
index:int — Позиция массива items данного меню, в которую требуется вставить добавляемый элемент меню.
| |
label:String — Ярлык отображения для добавляемого элемента меню.
|
NativeMenuItem — Объект NativeMenuItem, созданный для подменю.
|
clone | () | метод |
public function clone():NativeMenu
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0 |
Создает копию меню и всех элементов.
ВозвращаетNativeMenu |
containsItem | () | метод |
public function containsItem(item:NativeMenuItem):Boolean
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0 |
Сообщает, содержит ли меню указанный элемент.
Параметры
item:NativeMenuItem — Объект NativeMenuItem, который требуется найти.
|
Boolean — true , если item есть в этом меню.
|
display | () | метод |
public function display(stage:Stage, stageX:Number, stageY:Number):void
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0 |
Добавляет раскрывающееся меню в заданном положении.
Параметры
stage:Stage — Объект Stage, на котором будет отображаться данное меню.
| |
stageX:Number — Число пикселей по горизонтали относительно начала рабочей области, на котором будет отображаться данное меню.
| |
stageY:Number — Число пикселей по вертикали относительно начала рабочей области, на котором будет отображаться данное меню.
|
getItemAt | () | метод |
public function getItemAt(index:int):NativeMenuItem
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0 |
Определяет элемент меню, расположенный по заданному индексу.
Параметры
index:int — Положение (от нуля) возвращаемого элемента.
|
NativeMenuItem — Объект NativeMenuItem, расположенный в заданном положении в меню.
|
Выдает
RangeError — Если index находится за пределами массива items меню.
|
getItemByName | () | метод |
public function getItemByName(name:String):NativeMenuItem
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0 |
Определяет элемент меню с заданным именем.
Примечание. Свойство name
элементов меню не назначается по умолчанию.
Параметры
name:String — Искомая строка.
|
NativeMenuItem — Объект NativeMenuItem с заданным именем или значение null , если такого элемента в меню не существует.
|
getItemIndex | () | метод |
public function getItemIndex(item:NativeMenuItem):int
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0 |
Определяет положение заданного элемента.
Параметры
item:NativeMenuItem — Объект NativeMenuItem, который требуется найти.
|
int — Положение (от нуля) указанного элемента в данном меню или -1 , если элемент отсутствует в меню.
|
removeAllItems | () | метод |
public function removeAllItems():void
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0 |
Удаляет все пункты меню.
removeItem | () | метод |
public function removeItem(item:NativeMenuItem):NativeMenuItem
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0 |
Удаляет заданный элемент меню.
Параметры
item:NativeMenuItem — Объект NativeMenuItem для удаления из данного меню.
|
NativeMenuItem |
Выдает
RangeError — Если item нет в этом меню.
|
removeItemAt | () | метод |
public function removeItemAt(index:int):NativeMenuItem
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0 |
Удаляет и возвращает элемент меню в заданный индекс.
Параметры
index:int — Положение (от нуля) удаляемого элемента.
|
NativeMenuItem — Удаленный объект NativeMenuItem.
|
Выдает
RangeError — Если index находится за пределами массива items этого меню.
|
setItemIndex | () | метод |
public function setItemIndex(item:NativeMenuItem, index:int):void
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0 |
Перемещает элемент меню в заданное положение. Если элемент еще не находится в меню, вызов этого метода добавляет элемент к меню.
Параметры
item:NativeMenuItem — Перемещаемый объект NativeMenuItem.
| |
index:int — Положение (от нуля) в меню, в которое нужно переместить item .
|
Выдает
RangeError — Если index находится за пределами массива items меню.
|
displaying | Событие |
flash.events.Event
свойство Event.type =
flash.events.Event.DISPLAYING
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0 |
Отправляется этим объектом NativeMenu непосредственно перед показом меню.
Прослушивайте это событие для обновления меню перед показом. Событие displaying
также отправляется элементами меню.
Событие preparing
предшествует событию displaying
и предоставляет дополнительную функциональность. Прослушивайте только одно из событий: preparing
или displaying
.
Примечание. До версии AIR 2.6 для Mac OS X меню и элементы меню отправляли событие displaying
, когда пользователь нажимал эквивалентную комбинацию клавиш. (Это событие не отправлялось при нажатии эквивалентной комбинации клавиш в других операционных системах.) Начиная с версии AIR 2.6 события displaying
больше не отправляются, когда пользователь нажимает эквивалентную комбинацию клавиш. Вместо этого следует использовать событие preparing
.
Event.DISPLAYING
определяет значение свойства type
объекта события displaying
.
Примечание. Это событие не проходит фазу захвата и отправляется непосредственно целевому элементу независимо от того, находится он в списке отображения или нет.
Это событие имеет следующие свойства:
Свойство | Значение |
---|---|
bubbles | false |
cancelable | false |
currentTarget | Объект, активно обрабатывающий объект Event с помощью прослушивателя событий. |
target | Объект, который сейчас будет отображаться. |
preparing | Событие |
flash.events.Event
свойство Event.type =
flash.events.Event.PREPARING
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 2.6 |
Отправляется объектом NativeMenu при нажатии его эквивалентной комбинации клавиш и непосредственно перед отображением меню.
Прослушивайте это событие, чтобы обновить перед его отображением или когда пользователь нажимает его эквивалентную комбинацию клавиш. Событие preparing
отправляется прежде, чем будет завершена оценка эквивалентной комбинации клавиш. Можно включить, отключить или удалить элементы из меню с помощью обработчика события preparing
, и эти изменения вступят в силу при нажатии эквивалентной комбинации клавиш. Например, при удалении или отключении элемента меню, для которого назначена нажатая комбинация клавиш, последовательность событий отменяется, и событие select
не отправляется. Событие preparing
также отправляется элементами меню.
Событие preparing
предшествует событию displaying
и предоставляет дополнительную функциональность. Прослушивайте только одно из событий: preparing
или displaying
.
Event.PREPARING
определяет значение свойства type
объекта события preparing
.
Примечание. Это событие не проходит фазу захвата и отправляется непосредственно целевому элементу независимо от того, находится он в списке отображения или нет.
Это событие имеет следующие свойства:
Свойство | Значение |
---|---|
bubbles | false |
cancelable | false |
currentTarget | Объект, отправивший это событие. |
target | Объект, отправивший это событие. |
select | Событие |
flash.events.Event
свойство Event.type =
flash.events.Event.SELECT
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0 |
Отправляется этим объектом NativeMenu при выборе одного из элементов меню или элемента одного из подменю.
Событие select
переходит по восходящей цепочке из данного элемента в содержащее его меню и дальше вверх к корневому объекту меню. Свойство target
объекта событий ссылается на выбранный объект NativeMenuItem. Свойство currentTarget
ссылается на данный объект NativeMenu.
Event.SELECT
определяет значение свойства type
объекта события select
.
Это событие имеет следующие свойства:
Свойство | Значение |
---|---|
bubbles | false |
cancelable | false ; поведение по умолчанию, подлежащее отмене, не определено. |
currentTarget | Объект, активно обрабатывающий объект Event с помощью прослушивателя событий. |
target | Объект, в котором выделен элемент. |
Tue Jun 12 2018, 11:34 AM Z