Paquete | flash.display |
Clase | public class NativeMenu |
Herencia | NativeMenu EventDispatcher Object |
Subclases | ContextMenu |
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0 |
Compatibilidad con perfil de AIR: esta característica se admite en todos los sistemas operativos de escritorio, pero no en dispositivos móviles o en dispositivos de AIR para TV. Puede comprobar la compatibilidad en tiempo de ejecución mediante la propiedad NativeMenu.isSupported
. Consulte Compatibilidad con perfil de AIR para obtener información sobre la compatibilidad de la API con varios perfiles.
Un menú nativo es un menú que se controla y se dibuja mediante el sistema operativo y no con la aplicación. AIR admite los siguientes tipos de menús nativos:
- Los menús de aplicación se admiten en OS X. Utilice la propiedad
NativeApplication.supportsMenu
para comprobar si los menús de aplicación se admiten en el sistema operativo del host. Un menú de aplicación se muestra en la barra de menús, en la parte superior del escritorio de Mac. OS X ofrece un menú predeterminado para cada aplicación, pero muchos de los comandos de menú no son funcionales. Se pueden añadir detectores de eventos a los elementos predeterminados, reemplazar menús y elementos individuales, o incluso reemplazar el menú predeterminado por completo. Acceda al objeto del menú de aplicación mediante la propiedadmenu
de NativeApplication. - Los menús de ventana se admiten en Windows y en Linux. Utilice la propiedad
NativeWindow.supportsMenu
para comprobar si los menús de ventana se admiten en el sistema operativo del host. Un menú de ventana se muestra debajo de la barra de título de la ventana. La zona ocupada por el menú no forma parte del escenario de la ventana. Las aplicaciones no pueden dibujar en esta zona. Asigne un menú a una ventana mediante la propiedadmenu
de NativeWindow. - Los menús de iconos del Dockse admiten en OS X. Utilice la propiedad
NativeApplication.supportsDockIcon
para comprobar si se admiten los iconos acoplados en el sistema operativo del host. Los elementos de un menú de icono del Dock se muestran encima de los elementos predeterminados que brinda el sistema operativo. No se puede acceder a los elementos predeterminados desde el código de la aplicación. Asigne un menú a la propiedadmenu
del objeto DockIcon de la aplicación. - Los menús de icono de bandeja del sistema se admiten en Windows y en la mayoría sistemas operativos Linux. Utilice la propiedad
NativeApplication.supportsSystemTrayIcon
para comprobar si los iconos de bandeja del sistema se admiten en el sistema operativo del host. Un menú de icono de bandeja del sistema se visualiza como respuesta a un clic con el botón derecho sobre el icono, de modo similar a un menú contextual. Asigne un menú a la propiedadmenu
del objeto SystemTrayIcon de la aplicación. - Los menús contextuales se admiten en todos los sistemas operativos. Los menús contextuales se visualizan como respuesta a un evento de interfaz de usuario, por ejemplo, al hacer clic con el botón derecho o clic con la tecla Comando pulsada en un objeto InteractiveObject visualizado en la aplicación. El mecanismo de UI para mostrar el menú varía en función del sistema operativo del host y del hardware. Asigne un menú a la propiedad
contextMenu
de un objeto InteractiveObject. En AIR, un menú contextual se puede crear con la clase NativeMenu o la clase ContextMenu. En Flash Player, sólo se puede utilizar la clase ContextMenu. Los menús contextuales en AIR no tienen elementos de menú incorporados; no se muestra ningún menú contextual predeterminado. - Los menús emergentes se admiten en todos los sistemas operativos. Funcionalmente, los menús emergentes son iguales que los menús contextuales, pero se visualizan utilizando el método
display()
en lugar de como respuesta a un evento de interfaz de usuario. Un menú emergente no se asocia a ningún otro objeto. Basta con crear el menú nativo y llamar al métododisplay()
.
Un objeto de menú contiene elementos de menú. Un elemento de menú puede representar un comando, un submenú o una línea de separador. Añada elementos de menú a un menú mediante los métodos addItem()
o addItemAt()
. El orden de visualización de los elementos de menú coincide con el de los elementos del conjunto items
de los menús.
Para crear un submenú, añada un elemento de menú al objeto de menú principal. Asigne el objeto de menú que representa el submenú a la propiedad submenu
del elemento de menú correspondiente en el menú principal.
Nota: el menú raíz de los menús de aplicaciones y ventanas sólo pueden contener elementos de submenú; los elementos que no representan submenús no se pueden mostrar y el usuario no debe esperar encontrar este tipo de menús.
Los menús distribuyen eventos select
cuando se selecciona un elemento de comando del menú o uno de sus submenús. (No es posible seleccionar elementos de submenú ni de línea de separador.) La propiedad target
del objeto de evento hace referencia al elemento seleccionado.
Los menús distribuyen eventos preparing
justo antes de que se muestre el menú y cuando se presiona un equivalente de tecla asociado a uno de los elementos del menú. Puede utilizar este evento para actualizar el contenido del menú en función del estado actual de la aplicación.
Nota: si utiliza la arquitectura Flex, considere la posibilidad de utilizar la clase FlexNativeMenu. Suele ser más sencillo definir menús de forma declarativa en MXML que escribir código ActionScript para crear la estructura de menús elemento por elemento.
Elementos de API relacionados
flash.display.NativeMenuItem
flash.display.NativeWindow.menu
flash.desktop.DockIcon
flash.desktop.SystemTrayIcon
flash.desktop.NativeApplication.menu
flash.desktop.NativeApplication.icon
mx.controls.FlexNativeMenu
Propiedad | Definido por | ||
---|---|---|---|
constructor : Object
Una referencia a la clase de objeto o función constructora para una instancia de objeto determinada. | Object | ||
isSupported : Boolean [estática] [solo lectura]
Indica si se damite cualquier forma de menú nativo en el sistema del cliente. | NativeMenu | ||
items : Array
Conjunto de objetos NativeMenuItem en el menú. | NativeMenu | ||
numItems : int [solo lectura]
Número de objetos NativeMenuItem en el menú. | NativeMenu | ||
parent : NativeMenu [solo lectura]
Menú principal. | NativeMenu |
Método | Definido por | ||
---|---|---|---|
Crea un nuevo objeto NativeMenu. | NativeMenu | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registra un objeto de detector de eventos con un objeto EventDispatcher, de modo que el detector reciba la notificación de un evento. | EventDispatcher | ||
Añade un elemento de menú al final de un menú. | NativeMenu | ||
Inserta un elemento de menú en la posición especificada. | NativeMenu | ||
Añade un submenú al menú insertando un elemento de menú. | NativeMenu | ||
Añade un submenú al menú insertando un elemento de menú en la posición especificada. | NativeMenu | ||
Crea una copia del menú y todos sus elementos. | NativeMenu | ||
Indica si el menú contiene el elemento de menú especificado. | NativeMenu | ||
Distribuye un evento en el flujo del evento. | EventDispatcher | ||
El menú emerge en la ubicación especificada. | NativeMenu | ||
Obtiene el elemento de menú en el índice especificado. | NativeMenu | ||
Obtiene el elemento de menú con el nombre especificado. | NativeMenu | ||
Obtiene la posición del elemento especificado. | NativeMenu | ||
Comprueba si el objeto EventDispatcher tiene detectores registrados para un tipo concreto de evento. | EventDispatcher | ||
Indica si un objeto tiene definida una propiedad especificada. | Object | ||
Indica si hay una instancia de la clase Object en la cadena de prototipo del objeto especificado como parámetro. | Object | ||
Indica si existe la propiedad especificada y si es enumerable. | Object | ||
Elimina todos los elementos de la lista. | NativeMenu | ||
Elimina un detector del objeto EventDispatcher. | EventDispatcher | ||
Elimina el elemento de menú especificado. | NativeMenu | ||
Elimina y devuelve el elemento de menú en el índice especificado. | NativeMenu | ||
Mueve un elemento de menú a la posición especificada. | NativeMenu | ||
Establece la disponibilidad de una propiedad dinámica para operaciones de bucle. | Object | ||
Devuelve la representación de cadena de este objeto, con formato según las convenciones específicas de configuración regional. | Object | ||
Devuelve la representación de cadena del objeto especificado. | Object | ||
Devuelve el valor simple del objeto especificado. | Object | ||
Comprueba si hay registrado un detector de eventos con este objeto EventDispatcher o con cualquiera de sus ascendientes para el tipo de evento concreto. | EventDispatcher |
Evento | Resumen | Definido por | ||
---|---|---|---|---|
[evento broadcast] Se distribuye cuando Flash Player o AIR pasan a estar activos. | EventDispatcher | |||
[evento broadcast] Se distribuye cuando Flash Player o de AIR pasan a estar inactivos. | EventDispatcher | |||
Se distribuye por el objeto NativeMenu inmediatamente antes de que se muestre el menú. | NativeMenu | |||
Distribuido por el objeto NativeMenu cuando se presiona un equivalente de teclas inmediatamente antes de que se muestre el menú. | NativeMenu | |||
Distribuido por el objeto NativeMenu cuando se selecciona uno de sus elementos de menú o un elemento de sus submenús. | NativeMenu |
isSupported | propiedad |
items | propiedad |
items:Array
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0 |
Conjunto de objetos NativeMenuItem en el menú.
El conjunto se ordena según su orden de visualización.
Nota: esta propiedad es de sólo lectura en AIR 1.0. Ha pasado a tener propiedades de lectura/escritura en AIR 1.1.
Implementación
public function get items():Array
public function set items(value:Array):void
numItems | propiedad |
parent | propiedad |
parent:NativeMenu
[solo lectura] Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0 |
Menú principal.
El elemento parent
del objeto del menú raíz (nivel superior) es null
.
Implementación
public function get parent():NativeMenu
NativeMenu | () | Información sobre |
public function NativeMenu()
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0 |
Crea un nuevo objeto NativeMenu.
addItem | () | método |
public function addItem(item:NativeMenuItem):NativeMenuItem
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0 |
Añade un elemento de menú al final de un menú.
Cuando se crea un menú contextual, es posible añadir objetos NativeMenuItem o ContextMenuItem. Sin embargo, se recomienda utilizar sólo un tipo de objeto en un menú contextual para que todos los elementos del menú tengan las mismas propiedades.
Nota: añadir un elemento a un menú puede provocar que la aplicación se bloquee si el elemento del submenú se establece en el propio menú (se crea una referencia circular).
Parámetros
item:NativeMenuItem — Objeto NativeMenuItem que se añade al final del menú.
|
NativeMenuItem |
Emite
ArgumentError — Si item es null .
| |
ArgumentError — Si item forma parte de otro menú.
|
addItemAt | () | método |
public function addItemAt(item:NativeMenuItem, index:int):NativeMenuItem
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0 |
Inserta un elemento de menú en la posición especificada. La posición se encuentra indexada desde la parte superior. Establezca el parámetro index
en cero para insertar el elemento en la parte superior del menú. Todos los tipos de menús: ventana, aplicación, icono de la bandeja del sistema, icono del Dock, menú contextual y menú emergente, índice de la posición del menú desde la parte superior.
Parámetros
item:NativeMenuItem — Objeto NativeMenuItem que se va a introducir.
| |
index:int — Posición (basada en cero) del menú en la que se va a insertar el elemento de menú.
Nota: añadir un elemento a un menú puede provocar que la aplicación se bloquee si el elemento del submenú se establece en el propio menú (se crea una referencia circular). |
NativeMenuItem |
Emite
ArgumentError — Si item es null .
| |
ArgumentError — Si item forma parte de otro menú.
| |
RangeError — Si index se encuentra fuera de los límites del conjunto items del menú.
|
addSubmenu | () | método |
public function addSubmenu(submenu:NativeMenu, label:String):NativeMenuItem
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0 |
Añade un submenú al menú insertando un elemento de menú.
Llamar al método addSubMenuAt()
equivale a crear un nuevo elemento de menú, añadiéndolo al menú y asignando un objeto NativeMenu a la propiedad submenu
del elemento.
Nota: añadir un menú como un submenú de sí mismo (en una referencia circular) puede provocar que la aplicación se bloquee.
Parámetros
submenu:NativeMenu — Objeto NativeMenu que define el submenú que se va a añadir.
| |
label:String — Etiqueta de visualización del elemento de menú que se va a añadir.
|
NativeMenuItem — Objeto NativeMenuItem creado para el submenú.
|
addSubmenuAt | () | método |
public function addSubmenuAt(submenu:NativeMenu, index:int, label:String):NativeMenuItem
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0 |
Añade un submenú al menú insertando un elemento de menú en la posición especificada.
Llamar al método addSubMenuAt()
equivale a crear un nuevo elemento de menú, insertándolo en la posición deseada del menú y asignando un objeto NativeMenu a la propiedad submenu
del elemento.
Nota: añadir un menú como un submenú de sí mismo (en una referencia circular) puede provocar que la aplicación se bloquee.
Parámetros
submenu:NativeMenu — Objeto NativeMenu que define el submenú que se va a añadir.
| |
index:int — Posición del conjunto items del menú en la que se va a insertar el elemento de menú.
| |
label:String — Etiqueta de visualización del elemento de menú que se va a añadir.
|
NativeMenuItem — Objeto NativeMenuItem creado para el submenú.
|
clone | () | método |
public function clone():NativeMenu
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0 |
Crea una copia del menú y todos sus elementos.
Valor devueltoNativeMenu |
containsItem | () | método |
public function containsItem(item:NativeMenuItem):Boolean
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0 |
Indica si el menú contiene el elemento de menú especificado.
Parámetros
item:NativeMenuItem — Objeto NativeMenuItem que se busca.
|
Boolean — true si item se encuentra en el menú.
|
display | () | método |
public function display(stage:Stage, stageX:Number, stageY:Number):void
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0 |
El menú emerge en la ubicación especificada.
Parámetros
stage:Stage — El objeto Stage en el que se muestra este menú.
| |
stageX:Number — El número de píxeles horizontales, relativos al origen de stage en el que se muestra este menú.
| |
stageY:Number — El número de píxeles verticales, relativos al origen de stage en el que se muestra este menú.
|
getItemAt | () | método |
public function getItemAt(index:int):NativeMenuItem
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0 |
Obtiene el elemento de menú en el índice especificado.
Parámetros
index:int — Posición (basada en cero) del elemento que se va a devolver.
|
NativeMenuItem — Objeto NativeMenuItem en la posición especificada del menú.
|
Emite
RangeError — Si index se encuentra fuera de los límites del conjunto items del menú.
|
getItemByName | () | método |
public function getItemByName(name:String):NativeMenuItem
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0 |
Obtiene el elemento de menú con el nombre especificado.
Nota: la propiedad name
de los elementos de menú no se asigna de forma predeterminada.
Parámetros
name:String — Cadena que se busca.
|
NativeMenuItem — Objeto NativeMenuItem con el nombre especificado o null si no existe dicho elemento en el menú.
|
getItemIndex | () | método |
public function getItemIndex(item:NativeMenuItem):int
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0 |
Obtiene la posición del elemento especificado.
Parámetros
item:NativeMenuItem — Objeto NativeMenuItem que se busca.
|
int — Posición (basada en cero) del elemento especificado en el menú o -1 si el elemento no está en el menú.
|
removeAllItems | () | método |
public function removeAllItems():void
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0 |
Elimina todos los elementos de la lista.
removeItem | () | método |
public function removeItem(item:NativeMenuItem):NativeMenuItem
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0 |
Elimina el elemento de menú especificado.
Parámetros
item:NativeMenuItem — Objeto NativeMenuItem que se va a eliminar del menú.
|
NativeMenuItem |
Emite
RangeError — Si item no está en el menú
|
removeItemAt | () | método |
public function removeItemAt(index:int):NativeMenuItem
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0 |
Elimina y devuelve el elemento de menú en el índice especificado.
Parámetros
index:int — Posición (basada en cero) del elemento que se va a eliminar.
|
NativeMenuItem — Objeto NativeMenuItem eliminado.
|
Emite
RangeError — Si index se encuentra fuera de los límites del conjunto items del menú.
|
setItemIndex | () | método |
public function setItemIndex(item:NativeMenuItem, index:int):void
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0 |
Mueve un elemento de menú a la posición especificada. Si el elemento no está ya en el menú, al llamar a este método se añade el elemento al menú.
Parámetros
item:NativeMenuItem — Objeto NativeMenuItem que se va a mover.
| |
index:int — Posición (basada en cero) del menú a la que se va a mover el elemento item .
|
Emite
RangeError — Si index se encuentra fuera de los límites del conjunto items del menú.
|
displaying | Evento |
flash.events.Event
propiedad Event.type =
flash.events.Event.DISPLAYING
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0 |
Se distribuye por el objeto NativeMenu inmediatamente antes de que se muestre el menú.
Detecte este evento para actualizar el menú antes de que se muestre. Un evento displaying
también se distribuye por los elementos de un menú.
El evento preparing
tiene prioridad sobre el evento mostrar
y proporciona una funcionalidad adicional. Detecte el evento preparing
o el evento display
, pero no ambos.
Nota: en Mac OS X, antes de AIR 2.6, los menús y elementos de menú distribuían un evento displaying
cuando el usuario presionaba un equivalente de tecla. (Este evento no se ha distribuido por interacción equivalente de teclas en otros sistemas operativos.) A partir de AIR 2.6, los eventos displaying
ya no se distribuyen cuando el usuario presiona un equivalente de tecla. Ahora se utiliza el evento preparing
.
Event.DISPLAYING
define el valor de la propiedad type
de un objeto de evento displaying
.
Nota: este evento no recorre una "fase de captura" y se distribuye directamente en el destino, ya se encuentre este destino en la lista de visualización o no.
Este evento tiene las propiedades siguientes:
Propiedad | Valor |
---|---|
bubbles | false |
cancelable | false |
currentTarget | Objeto que procesa de forma activa el objeto de evento con un detector de eventos. |
target | El objeto que se va a mostrar. |
preparing | Evento |
flash.events.Event
propiedad Event.type =
flash.events.Event.PREPARING
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 2.6 |
Distribuido por el objeto NativeMenu cuando se presiona un equivalente de teclas inmediatamente antes de que se muestre el menú.
Detecte este evento para actualizar el elemento antes de que aparezca, o cuando el usuario presiona su equivalente de teclas. El evento preparing
se distribuye antes de que se calcule totalmente el equivalente de teclas. Puede activar, desactivar, añadir o quitar elementos del menú con el controlador de eventos preparing
; dichos cambios tendrán efecto cuando se procese el equivalente de teclas. Por ejemplo, si elimina o desactiva el elemento de menú asignado al equivalente de activación de teclas, la secuencia de eventos se cancela y no se distribuirá ningún evento select
. Un evento preparing
también se distribuye por los elementos de un menú.
El evento preparing
tiene prioridad sobre el evento mostrar
y proporciona una funcionalidad adicional. Detecte el evento preparing
o el evento display
, pero no ambos.
Event.PREPARING
define el valor de la propiedad type
de un objeto de evento preparing
.
Nota: este evento no recorre una "fase de captura" y se distribuye directamente en el destino, ya se encuentre este destino en la lista de visualización o no.
Este evento tiene las propiedades siguientes:
Propiedad | Valor |
---|---|
bubbles | false |
cancelable | false |
currentTarget | El objeto que inició este evento. |
target | El objeto que inició este evento. |
select | Evento |
flash.events.Event
propiedad Event.type =
flash.events.Event.SELECT
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0 |
Distribuido por el objeto NativeMenu cuando se selecciona uno de sus elementos de menú o un elemento de sus submenús.
Un evento select
emite una acción bubble (propagación) desde el elemento de menú hasta el menú que lo contiene hasta llevar al menú principal vinculado al objeto raíz del menú. La propiedad target
del objeto del evento hace referencia al objeto NativeMenuItem que contiene el objeto NativeMenuItem; la propiedad currentTarget
hace referencia a este objeto NativeMenu.
Event.SELECT
define el valor de la propiedad type
de un objeto de evento select
.
Este evento tiene las propiedades siguientes:
Propiedad | Valor |
---|---|
bubbles | false |
cancelable | false ; no hay ningún comportamiento predeterminado que cancelar. |
currentTarget | Objeto que procesa de forma activa el objeto de evento con un detector de eventos. |
target | El objeto en el que se ha seleccionado un elemento. |
Tue Jun 12 2018, 02:12 PM Z