Package | flash.display |
Classe | public class NativeMenu |
Héritage | NativeMenu EventDispatcher Object |
Sous-classes | ContextMenu |
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0 |
Prise en charge du profil AIR : cette fonctionnalité est prise en charge sur tous les systèmes d’exploitation de bureau, mais ne l’est pas sur les périphériques mobiles ou les périphériques AIR pour TV. Vous pouvez tester la prise en charge lors de l’exécution à l’aide de la propriété NativeMenu.isSupported
. Voir Prise en charge du profil AIR pour plus d’informations sur la prise en charge de l’API dans plusieurs profils.
Un menu natif est un menu contrôlé et conçu par le système d’exploitation plutôt que par votre application. AIR prend en charge les types de menus natifs suivants :
- Les menus d’application sont pris en charge sous OS X. Utilisez la propriété
NativeApplication.supportsMenu
pour vérifier si les menus d’application sont pris en charge par le système d’exploitation hôte. Un menu d’application s’affiche sur la barre de menus dans la partie supérieure du bureau du poste de travail Mac. OS X propose un menu par défaut pour chaque application, mais de nombreuses commandes de menu ne sont pas opérationnelles. Vous pouvez ajouter des écouteurs d’événement aux éléments par défaut, remplacer les menus et les éléments individuels, voire même remplacer le menu par défaut dans son intégralité. Accédez à l’objet du menu d’application à l’aide de la propriétémenu
de NativeApplication. - Les menus de fenêtre sont pris en charge sous Windows et Linux. Utilisez la propriété
NativeWindow.supportsMenu
pour vérifier si les menus de fenêtre sont pris en charge par le système d’exploitation hôte. Un menu de fenêtre s’affiche sous la barre de titre de la fenêtre. La zone occupée par le menu ne fait pas partie de la scène de la fenêtre. Les applications ne peuvent pas dessiner dans cette zone. Affectez un menu à une fenêtre à l’aide de la propriétémenu
de NativeWindow. - Les menus des icônes du Dock sont pris en charge sous OS X. Utilisez la propriété
NativeApplication.supportsDockIcon
pour vérifier si les icônes du Dock sont prises en charge par le système d’exploitation hôte. Les éléments de menu d’une icône du Dock s’affichent au-dessus des éléments par défaut fournis par le système d’exploitation. Il est impossible d’accéder aux éléments par défaut via le code de l’application. Affectez un menu à la propriétémenu
de l’objet DockIcon de l’application. - Les menus des icônes de la barre d’état système sont pris en charge sous Windows et la plupart des systèmes d’exploitation Linux. Utilisez la propriété
NativeApplication.supportsSystemTrayIcon
pour vérifier si les icônes de la barre d’état système sont prises en charge par le système d’exploitation hôte. Le menu d’une icône de la barre d’état système s’affiche lorsque l’utilisateur clique avec le bouton droit de la souris sur l’icône, de la même façon qu’un menu contextuel. Affectez un menu à la propriétémenu
de l’objet SystemTrayIcon de l’application. - Les menus contextuels sont pris en charge sur tous les systèmes d’exploitation. Les menus contextuels s’affichent en réponse à un événement d’interface utilisateur, notamment lorsqu’un utilisateur clique avec le bouton droit de la souris sur un objet InteractiveObject affiché dans l’application ou clique dessus tout en maintenant la touche Commande enfoncée. Le mécanisme d’affichage des menus propre à l’interface utilisateur varie en fonction du système d’exploitation hôte et du matériel. Affectez un menu à la propriété
contextMenu
d’une occurrence d’InteractiveObject. Dans AIR, il est possible de créer un menu contextuel avec la classe NativeMenu ou la classe ContextMenu. Dans Flash Player, seule la classe ContextMenu peut être utilisée. Les menus contextuels dans AIR ne possèdent aucun élément intégré ; un menu contextuel par défaut n’est pas affiché. - Les menus déroulants sont pris en charge sur tous les systèmes d’exploitation. D’un point de vue fonctionnel, les menus déroulants sont identiques aux menus contextuels, à la différence qu’ils s’affichent via la méthode
display()
et non en réponse à l’événement d’une interface utilisateur. Un menu déroulant n’est lié à aucun autre objet. Il suffit de créer le menu natif et d’appeler la méthodedisplay()
.
Un objet de menu contient des options de menu. Une option de menu peut représenter une commande, un sous-menu ou une ligne de démarcation. Ajoutez des options de menu à un menu à l’aide de la méthode addItem()
ou addItemAt()
. L’ordre d’affichage des options de menu correspond à l’ordre des éléments dans le tableau items
du menu.
Pour créer un sous-menu, ajoutez une option de menu à l’objet de menu parent. Affectez l’objet de menu représentant le sous-menu à la propriété submenu
de l’option de menu correspondant dans le menu parent.
Remarque : le menu racine des menus de fenêtre et d’application doit contenir uniquement des options de sous-menu ; les options qui ne représentent pas des sous-menus risquent de ne pas s’afficher et sont contraires à l’attente de l’utilisateur pour ces types de menus.
Les menus distribuent des événements select
lorsqu’un de leurs éléments de commande, ou l’un de ses sous-menu, est sélectionné (les éléments de sous-menu et de séparateur ne peuvent pas être sélectionnés). La propriété target
de l’objet d’événement fait référence à l’élément sélectionné.
Les menus distribuent des événements preparing
juste avant l’affichage du menu et lorsqu’un l’utilisateur appuie sur l’équivalent de touche associé à l’une des options du menu. Vous pouvez utiliser cet événement pour mettre à jour le contenu du menu en fonction de l’état actuel de l’application.
Remarque : si vous utilisez la structure Flex, pensez à utiliser la classe FlexNativeMenu. Il est généralement plus facile de définir des menus par déclaration au format MXML que de rédiger du code ActionScript pour créer la structure du menu élément par élément.
Plus d’exemples
Eléments de l’API associés
flash.display.NativeMenuItem
flash.display.NativeWindow.menu
flash.desktop.DockIcon
flash.desktop.SystemTrayIcon
flash.desktop.NativeApplication.menu
flash.desktop.NativeApplication.icon
mx.controls.FlexNativeMenu
Propriété | Défini par | ||
---|---|---|---|
constructor : Object
Référence à l’objet de classe ou à la fonction constructeur d’une occurrence donnée d’un objet. | Object | ||
isSupported : Boolean [statique] [lecture seule]
Indique si une forme de menu natif est prise en charge sur le système client. | NativeMenu | ||
items : Array
Tableau d’objets NativeMenuItem dans ce menu. | NativeMenu | ||
numItems : int [lecture seule]
Nombre d’objets NativeMenuItem dans ce menu. | NativeMenu | ||
parent : NativeMenu [lecture seule]
Le menu parent. | NativeMenu |
Méthode | Défini par | ||
---|---|---|---|
Crée un nouvel objet NativeMenu. | NativeMenu | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Enregistre un objet écouteur d’événement auprès d’un objet EventDispatcher afin que l’écouteur soit averti d’un événement. | EventDispatcher | ||
Ajoute un élément de menu en bas du menu. | NativeMenu | ||
Insère une option de menu à la position spécifiée. | NativeMenu | ||
Ajoute un sous-menu au menu en insérant une nouvelle option de menu. | NativeMenu | ||
Ajoute un sous-menu au menu en insérant une nouvelle option de menu à la position spécifiée. | NativeMenu | ||
Crée une copie du menu et de toutes les options. | NativeMenu | ||
Indique si ce menu contient l’option de menu spécifiée. | NativeMenu | ||
Distribue un événement dans le flux d’événements. | EventDispatcher | ||
Déroule ce menu à l’emplacement spécifié. | NativeMenu | ||
Obtient l’option de menu à l’index spécifié. | NativeMenu | ||
Obtient l’option de menu avec le nom spécifié. | NativeMenu | ||
Obtient la position de l’option spécifiée. | NativeMenu | ||
Vérifie si des écouteurs sont enregistrés auprès de l’objet EventDispatcher pour un type spécifique d’événement. | EventDispatcher | ||
Indique si la propriété spécifiée d’un objet est définie. | Object | ||
Indique si une occurrence de la classe Object figure dans la chaîne de prototype de l’objet spécifié en tant que paramètre. | Object | ||
Indique si la propriété spécifiée existe et est énumérable. | Object | ||
Supprime tous les éléments du menu. | NativeMenu | ||
Supprime un écouteur de l’objet EventDispatcher. | EventDispatcher | ||
Supprime l’élément de menu spécifié. | NativeMenu | ||
Supprime et renvoie l’option de menu à l’index spécifié. | NativeMenu | ||
Déplace une option de menu vers la position spécifiée. | NativeMenu | ||
Définit la disponibilité d’une propriété dynamique pour les opérations en boucle. | Object | ||
Renvoie la représentation de chaîne de cet objet, formatée selon les paramètres régionaux en vigueur. | Object | ||
Renvoie la représentation sous forme de chaîne de l’objet spécifié. | Object | ||
Renvoie la valeur primitive de l’objet spécifié. | Object | ||
Vérifie si un écouteur d’événement est enregistré auprès de cet objet EventDispatcher ou de ses ancêtres pour le type d’événement spécifié. | EventDispatcher |
Evénement | Synthèse | Défini par | ||
---|---|---|---|---|
[Evénement de diffusion] Distribué lorsque l’application Flash Player obtient le focus du système d’exploitation et devient active. | EventDispatcher | |||
[Evénement de diffusion] Distribué lorsque l’application Flash Player ou AIR perd le focus du système d’exploitation et devient inactive. | EventDispatcher | |||
Distribué par cet objet NativeMenu immédiatement avant l’affichage du menu. | NativeMenu | |||
Distribué par l’objet NativeMenu lorsque l’utilisateur appuie sur un équivalent de touche et immédiatement avant l’affichage du menu. | NativeMenu | |||
Distribué par cet objet NativeMenu lorsque l’une de ses options de menu ou un élément dans l’un de ses sous-menus descendants est sélectionné. | NativeMenu |
isSupported | propriété |
items | propriété |
items:Array
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0 |
Tableau d’objets NativeMenuItem dans ce menu.
Le tableau est trié par ordre d’affichage.
Remarque : cette propriété est disponible en lecture seule dans AIR 1.0. Elle est disponible en lecture et en écriture dans AIR 1.1.
Implémentation
public function get items():Array
public function set items(value:Array):void
numItems | propriété |
parent | propriété |
parent:NativeMenu
[lecture seule] Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0 |
Le menu parent.
Le parent
de l’objet menu racine (niveau supérieur) est null
.
Implémentation
public function get parent():NativeMenu
NativeMenu | () | Constructeur |
public function NativeMenu()
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0 |
Crée un nouvel objet NativeMenu.
addItem | () | méthode |
public function addItem(item:NativeMenuItem):NativeMenuItem
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0 |
Ajoute un élément de menu en bas du menu.
Lors de la création d’un menu contextuel, vous pouvez ajouter des objets NativeMenuItem ou ContextMenuItem. Nous vous conseillons toutefois de n’utiliser qu’un seul type d’objet dans un menu contextuel afin que tous les éléments du menu possèdent les mêmes propriétés.
Remarque : l’ajout d’un élément à un menu peut provoquer l’arrêt intempestif d’une application si le sous-menu de l’élément est défini sur le menu lui-même (ce qui provoque une référence circulaire).
Paramètres
item:NativeMenuItem — Objet NativeMenuItem à ajouter au bas du menu.
|
NativeMenuItem |
Valeur émise
ArgumentError — Si item est null .
| |
ArgumentError — Si item est membre d’un autre menu.
|
addItemAt | () | méthode |
public function addItemAt(item:NativeMenuItem, index:int):NativeMenuItem
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0 |
Insère une option de menu à la position spécifiée. La position est indexée à partir du haut. Définissez le paramètre index
sur zéro pour insérer l’option dans la partie supérieure du menu. Tous les types de menus (fenêtre, application, icône de la barre d’état système, icône du dock, menu contextuel et menu déroulant) indexent la position du menu à partir du haut.
Paramètres
item:NativeMenuItem — Objet NativeMenuItem à insérer.
| |
index:int — Position (de base zéro) dans le menu à laquelle l’option de menu doit être insérée.
Remarque : l’ajout d’un élément à un menu peut provoquer l’arrêt intempestif d’une application si le sous-menu de l’élément est défini sur le menu lui-même (ce qui provoque une référence circulaire). |
NativeMenuItem |
Valeur émise
ArgumentError — Si item est null .
| |
ArgumentError — Si item est membre d’un autre menu.
| |
RangeError — Si l’index est situé hors des limites du tableau items du menu.
|
addSubmenu | () | méthode |
public function addSubmenu(submenu:NativeMenu, label:String):NativeMenuItem
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0 |
Ajoute un sous-menu au menu en insérant une nouvelle option de menu.
Un appel à la méthode addSubMenuAt()
équivaut à créer une option de menu, en l’ajoutant au menu, et en attribuant un objet NativeMenu à sa propriété submenu
.
Remarque : l’ajout d’un menu comme sous-menu de lui-même (dans une référence circulaire) peut provoquer l’arrêt intempestif d’une application.
Paramètres
submenu:NativeMenu — Objet NativeMenu définissant le sous-menu à ajouter.
| |
label:String — L’étiquette d’affichage pour l’option de menu à ajouter.
|
NativeMenuItem — Objet NativeMenuItem créé pour le sous-menu.
|
addSubmenuAt | () | méthode |
public function addSubmenuAt(submenu:NativeMenu, index:int, label:String):NativeMenuItem
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0 |
Ajoute un sous-menu au menu en insérant une nouvelle option de menu à la position spécifiée.
Un appel à la méthode addSubMenuAt()
équivaut à créer une option de menu, en l’insérant à la position souhaitée dans le menu, et en attribuant un objet NativeMenu à sa propriété submenu
.
Remarque : l’ajout d’un menu comme sous-menu de lui-même (dans une référence circulaire) peut provoquer l’arrêt intempestif d’une application.
Paramètres
submenu:NativeMenu — Objet NativeMenu définissant le sous-menu à ajouter.
| |
index:int — La position dans le tableau items de ce menu à laquelle insérer l’option de menu à ajouter.
| |
label:String — L’étiquette d’affichage pour l’option de menu à ajouter.
|
NativeMenuItem — Objet NativeMenuItem créé pour le sous-menu.
|
clone | () | méthode |
public function clone():NativeMenu
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0 |
Crée une copie du menu et de toutes les options.
Valeur renvoyéeNativeMenu |
containsItem | () | méthode |
public function containsItem(item:NativeMenuItem):Boolean
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0 |
Indique si ce menu contient l’option de menu spécifiée.
Paramètres
item:NativeMenuItem — L’objet NativeMenuItem à rechercher.
|
Boolean — true si item est dans ce menu.
|
display | () | méthode |
public function display(stage:Stage, stageX:Number, stageY:Number):void
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0 |
Déroule ce menu à l’emplacement spécifié.
Paramètres
stage:Stage — L’objet Stage sur lequel afficher ce menu.
| |
stageX:Number — Nombre de pixels horizontaux, par rapport à l’origine de la scène, sur laquelle afficher ce menu.
| |
stageY:Number — Nombre de pixels verticaux, par rapport à l’origine de la scène, sur laquelle afficher ce menu.
|
getItemAt | () | méthode |
public function getItemAt(index:int):NativeMenuItem
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0 |
Obtient l’option de menu à l’index spécifié.
Paramètres
index:int — Position (de base zéro) dans l’option à renvoyer.
|
NativeMenuItem — Objet NativeMenuItem à la position spécifiée dans le menu.
|
Valeur émise
RangeError — Si index est situé hors des limites du tableau items du menu.
|
getItemByName | () | méthode |
public function getItemByName(name:String):NativeMenuItem
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0 |
Obtient l’option de menu avec le nom spécifié.
Remarque : la propriété name
des options de menu n’est pas attribuée par défaut.
Paramètres
name:String — Chaîne à rechercher.
|
NativeMenuItem — Objet NativeMenuItem avec le nom spécifié ou null , si aucune option n’existe dans le menu.
|
getItemIndex | () | méthode |
public function getItemIndex(item:NativeMenuItem):int
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0 |
Obtient la position de l’option spécifiée.
Paramètres
item:NativeMenuItem — L’objet NativeMenuItem à rechercher.
|
int — Position (de base zéro) de l’élément spécifié dans ce menu ou -1 si l’élément ne se trouve pas dans ce menu.
|
removeAllItems | () | méthode |
public function removeAllItems():void
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0 |
Supprime tous les éléments du menu.
removeItem | () | méthode |
public function removeItem(item:NativeMenuItem):NativeMenuItem
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0 |
Supprime l’élément de menu spécifié.
Paramètres
item:NativeMenuItem — Objet NativeMenuItem à supprimer de ce menu.
|
NativeMenuItem |
Valeur émise
RangeError — Si item n’est pas dans ce menu
|
removeItemAt | () | méthode |
public function removeItemAt(index:int):NativeMenuItem
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0 |
Supprime et renvoie l’option de menu à l’index spécifié.
Paramètres
index:int — Position (de base zéro) de l’élément à supprimer.
|
NativeMenuItem — Objet NativeMenuItem supprimé.
|
Valeur émise
RangeError — Si index est situé hors des limites du tableau items de ce menu.
|
setItemIndex | () | méthode |
public function setItemIndex(item:NativeMenuItem, index:int):void
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0 |
Déplace une option de menu vers la position spécifiée. Si l’élément n’est pas déjà dans le menu, l’appel de cette méthode ajoute l’élément au menu.
Paramètres
item:NativeMenuItem — Objet NativeMenuItem à déplacer.
| |
index:int — Position (de base zéro) dans le menu vers lequel déplacer item .
|
Valeur émise
RangeError — Si index est situé hors des limites du tableau items du menu.
|
displaying | Evénement |
flash.events.Event
propriété Event.type =
flash.events.Event.DISPLAYING
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0 |
Distribué par cet objet NativeMenu immédiatement avant l’affichage du menu.
Ecoutez cet événement pour mettre à jour le menu avant son affichage. Un événement displaying
est également distribué par les options d’un menu.
L’événement preparing
prime sur l’événement displaying
et offre des fonctionnalités supplémentaires. Ecoutez soit l’événement preparing
soit l’événement displaying
, mais pas les deux.
Remarque : sous Mac OS X, dans les versions d’AIR antérieures à 2.6, les menus et les options de menu distribuaient un événement displaying
lorsque l’utilisateur appuyait sur un équivalent de touche. (Cet événement n’était cependant pas distribué pour l’interaction d’équivalence de touche sur d’autres systèmes d’exploitation.) A partir d’AIR 2.6, les événements displaying
ne sont plus distribués lorsque l’utilisateur appuie sur un équivalent de touche. Utilisez plutôt l’événement preparing
.
Event.DISPLAYING
définit la valeur de la propriété type
d’un objet événement displaying
.
Remarque : cet événement ne passe pas par une « phase de capture » et est distribué directement à la cible, que cette dernière soit dans la liste d’affichage ou non.
Les propriétés de cet événement sont les suivantes :
Propriété | Valeur |
---|---|
bubbles | false |
cancelable | false |
currentTarget | L’objet qui traite activement l’objet Event avec un écouteur d’événements. |
target | Objet sur le point d’être affiché. |
preparing | Evénement |
flash.events.Event
propriété Event.type =
flash.events.Event.PREPARING
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 2.6 |
Distribué par l’objet NativeMenu lorsque l’utilisateur appuie sur un équivalent de touche et immédiatement avant l’affichage du menu.
Ecoutez cet événement pour mettre à jour le menu avant qu’il ne s’affiche ou lorsque l’utilisateur appuie sur un équivalent de touche. L’événement preparing
est distribué avant l’évaluation complète de l’équivalent de touche. Vous pouvez activer, désactiver, ajouter ou supprimer des options du menu dans le gestionnaire de l’événement preparing
; ces modifications prendront effet lors du traitement de l’équivalent de touche. Par exemple, si vous supprimez ou désactiver l’option de menu attribuée à l’équivalent de la touche de déclenchement, la séquence d’événements est effectivement annulée et aucun événement select
n’est distribué. Un événement preparing
est également distribué par les options d’un menu.
L’événement preparing
prime sur l’événement displaying
et offre des fonctionnalités supplémentaires. Ecoutez soit l’événement preparing
soit l’événement displaying
, mais pas les deux.
Event.PREPARING
définit la valeur de la propriété type
d’un objet d’événement preparing
.
Remarque : cet événement ne passe pas par une « phase de capture » et est distribué directement à la cible, que cette dernière soit dans la liste d’affichage ou non.
Les propriétés de cet événement sont les suivantes :
Propriété | Valeur |
---|---|
bubbles | false |
cancelable | false |
currentTarget | Objet ayant distribué l’événement this. |
target | Objet ayant distribué l’événement this. |
select | Evénement |
flash.events.Event
propriété Event.type =
flash.events.Event.SELECT
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0 |
Distribué par cet objet NativeMenu lorsque l’une de ses options de menu ou un élément dans l’un de ses sous-menus descendants est sélectionné.
Un événement select effectue une propagation
de cette option de menu vers le menu qu’il contient jusqu’à l’objet menu racine en passant par la chaîne de menu parent. La propriété target
de l’objet event fait référence à l’objet NativeMenuItem sélectionné ; la propriété currentTarget
fait référence à cet objet NativeMenu.
Event.SELECT
définit la valeur de la propriété type
d’un objet événement select
.
Les propriétés de cet événement sont les suivantes :
Propriété | Valeur |
---|---|
bubbles | false |
cancelable | false ; il n’existe aucun comportement par défaut à annuler. |
currentTarget | L’objet qui traite activement l’objet Event avec un écouteur d’événements. |
target | Objet sur lequel un élément a été sélectionné. |
Tue Jun 12 2018, 09:30 AM Z