Para crear un objeto NativeMenu para que actúe como la raíz del menú, se debe utilizar el constructor NativeMenu:
var root:NativeMenu = new NativeMenu();
Para los menús de aplicación y de ventana, el menú raíz representa la barra de menús y solo debe tener los elementos que abren submenús. Los menús contextual y emergentes no tienen una barra de menús, por lo que el menú raíz puede tener líneas separadoras y comandos así como submenús.
Después de crear el menú, se pueden añadir elementos de menú. Los elementos aparecen en el menú en el orden en que se añaden, a menos que se añadan los elementos en un índice específico utilizando el método
addItemAt()
de un objeto de menú.
Se puede asignar el menú como un menú de aplicación, de ventana, de icono o contextual o mostrarlo como un menú emergente como se muestra en las siguientes secciones:
Definición del menú de aplicación o el menú de ventana
Es importante que el código se acomode a los menús de la aplicación (admitidos en Mac OS) y a los menús de ventana (admitidos en otros sistemas operativos)
var root:NativeMenu = new NativeMenu();
if (NativeApplication.supportsMenu)
{
NativeApplication.nativeApplication.menu = root;
}
else if (NativeWindow.supportsMenu)
{
nativeWindow.menu = root;
}
Nota:
Mac OS define un menú que contiene elementos estándares para cada aplicación. Si se asigna un nuevo objeto NativeMenu a la propiedad
menu
del objeto NativeApplication se remplaza el menú estándar. También se puede utilizar el menú estándar en lugar de sustituirlo.
Adobe Flex proporciona una clase FlexNativeMenu para crear fácilmente menús que funcionen en distintas plataformas. Si está utilizando Flex Framework, use las clases FlexNativeMenu en lugar de la clase NativeMenu.
Definición de un menú contextual en un objeto interactivo
interactiveObject.contextMenu = root;
Definición de un menú de icono de acoplamiento o un menú de icono de la bandeja del sistema
Es importante que el código se acomode a los menús de la aplicación (admitidos en Mac OS) y a los menús de ventana (admitidos en otros sistemas operativos)
if (NativeApplication.supportsSystemTrayIcon)
{
SystemTrayIcon(NativeApplication.nativeApplication.icon).menu = root;
}
else if (NativeApplication.supportsDockIcon)
{
DockIcon(NativeApplication.nativeApplication.icon).menu = root;
}
Nota:
Mac OS X define un menú estándar para el icono de acoplamiento de la aplicación. Cuando se asigna un nuevo NativeMenu a la propiedad de menú del objeto DockIcon, los elementos en ese menú se muestran arriba de los elementos estándar. No se pueden quitar, acceder ni modificar los elementos de menú estándar.
Visualización de un menú como un menú emergente
root.display(stage, x, y);