| Package | flash.ui |
| Classe | public final class ContextMenu |
| Héritage | ContextMenu EventDispatcher Object |
| Version du langage : | ActionScript 3.0 |
| Version du lecteur : | Flash Player 9 |
Vous pouvez lier un objet ContextMenu à un bouton, clip ou objet de champ de texte spécifique, ou encore à un niveau d'animation entier. Pour ce faire, il vous suffit d'utiliser la propriété menu des classes Button, MovieClip ou TextField. Pour plus d'informations sur la propriété menu, consultez Button.menu, MovieClip.menu et TextField.menu.
Pour ajouter de nouveaux éléments à un objet ContextMenu, vous créez un objet ContextMenuItem que vous ajoutez au tableau ContextMenu.customItems. Pour plus d'informations sur la création d'éléments de menu contextuel, consultez l'entrée de la classe ContextMenuItem.
Flash Player propose trois types de menus contextuels : le menu standard (qui s'affiche lorsque vous cliquez avec le bouton droit de la souris dans Flash Player), le menu Edition (qui s'affiche lorsque vous cliquez avec le bouton droit de la souris sur un champ de texte sélectionnable ou modifiable) et un menu d'erreur (qui s'affiche lorsque le chargement d'un fichier SWF dans Flash Player a échoué). Seuls les menus standard et Edition peuvent être modifiés par le biais de la classe ContextMenu.
Les éléments de menu personnalisés s'affichent toujours dans la partie supérieure du menu contextuel de Flash Player, au-dessus des éléments de menu intégrés visibles ; une barre de séparation permet de faire la distinction entre les éléments de menu intégrés et personnalisés. Vous ne pouvez pas ajouter plus de 15 éléments personnalisés à un menu contextuel. Vous ne pouvez pas supprimer l'élément de menu Paramètres du menu contextuel. L'élément de menu Paramètres est requis dans Flash de manière à ce que les utilisateurs puissent accéder aux paramètres liés à la confidentialité et à l'enregistrement des données sur leur ordinateur. De même, vous ne pouvez pas supprimer l'élément de menu A propos de, qui est indispensable pour renseigner les utilisateurs sur la version de Flash Player qu'ils utilisent.
Vous devez utiliser le constructeur ContextMenu() pour créer un objet ContextMenu avant d'appeler ses méthodes.
Voir aussi
| Propriété | Défini par | ||
|---|---|---|---|
| builtInItems : ContextMenuBuiltInItems
Objet doté des propriétés suivantes qui sont issues de la classe ContextMenuBuiltInItems : forwardAndBack, loop, play, print, quality, rewind, save et zoom.
| ContextMenu | ||
![]() | constructor : Object
Référence à l'objet de classe ou à la fonction constructeur d'une occurrence donnée d'un objet.
| Object | |
| customItems : Array
Tableau d'objets ContextMenuItem.
| ContextMenu | ||
![]() | prototype : Object
[static]
Référence à l’objet prototype d’un objet de classe ou fonction.
| Object | |
| Méthode | Défini par | ||
|---|---|---|---|
|
Crée un objet ContextMenu.
| ContextMenu | ||
![]() |
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 | |
|
Crée une copie de l'objet ContextMenu spécifié.
| ContextMenu | ||
![]() |
Distribue un événement dans le flux d’événements.
| EventDispatcher | |
![]() |
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 | |
|
Masque tous les éléments de menu intégrés (à l'exception de Paramètres) dans l'objet ContextMenu spécifié.
| ContextMenu | ||
![]() |
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 un écouteur de l’objet EventDispatcher.
| EventDispatcher | |
![]() |
Définit la disponibilité d'une propriété dynamique pour les opérations en boucle.
| 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 | ||
|---|---|---|---|---|
![]() | Distribué lorsque Flash Player a le focus du système d’exploitation et devient actif. | EventDispatcher | ||
![]() | Distribué lorsque Flash Player perd le focus du système d’exploitation et devient inactif. | EventDispatcher | ||
| Distribué lorsqu’un utilisateur génère initialement un menu contextuel, mais avant que le contenu du menu contextuel soit affiché. | ContextMenu | |||
| builtInItems | propriété |
builtInItems:ContextMenuBuiltInItems [lecture-écriture]
| Version du langage : | ActionScript 3.0 |
| Version du lecteur : | Flash Player 9 |
Objet doté des propriétés suivantes qui sont issues de la classe ContextMenuBuiltInItems : forwardAndBack, loop, play, print, quality, rewind, save et zoom. La définition de ces propriétés sur false supprime les éléments de menu correspondants dans l'objet ContextMenu spécifié. Ces propriétés sont énumérables et définies sur true par défaut.
public function get builtInItems():ContextMenuBuiltInItems
public function set builtInItems(value:ContextMenuBuiltInItems):void
Voir aussi
| customItems | propriété |
customItems:Array [lecture-écriture]
| Version du langage : | ActionScript 3.0 |
| Version du lecteur : | Flash Player 9 |
Tableau d'objets ContextMenuItem. Chaque objet du tableau représente un élément de menu contextuel que vous avez défini. Utilisez cette propriété pour ajouter, supprimer ou modifier ces éléments de menu personnalisés.
Pour ajouter de nouveaux éléments de menu, créez un objet ContextMenuItem, puis ajoutez-le au tableau customItems (à l’aide de Array.push(), par exemple). Pour plus d'informations sur la création d'éléments de menu, consultez l'entrée de la classe ContextMenuItem.
public function get customItems():Array
public function set customItems(value:Array):void
Voir aussi
| ContextMenu | () | Constructeur |
public function ContextMenu()
| Version du langage : | ActionScript 3.0 |
| Version du lecteur : | Flash Player 9 |
Crée un objet ContextMenu.
Voir aussi
| clone | () | méthode |
public function clone():ContextMenu
| Version du langage : | ActionScript 3.0 |
| Version du lecteur : | Flash Player 9 |
Crée une copie de l'objet ContextMenu spécifié. La copie hérite de toutes les propriétés de l'objet de menu d’origine.
Valeur renvoyéeContextMenu — Objet ContextMenu contenant toutes les propriétés de l'objet de menu d’origine.
|
| hideBuiltInItems | () | méthode |
public function hideBuiltInItems():void
| Version du langage : | ActionScript 3.0 |
| Version du lecteur : | Flash Player 9 |
Masque tous les éléments de menu intégrés (à l'exception de Paramètres) dans l'objet ContextMenu spécifié. Si la version de débogage de Flash Player s'exécute, l'élément de menu Débogage apparaît, bien qu'il soit grisé pour les fichiers SWF sur lesquels le débogage à distance n'est pas activé.
Cette méthode masque uniquement les éléments de menu qui s'affichent dans le menu contextuel standard ; elle n'affecte pas les éléments qui s'affichent dans les menus Edition ou d'erreur.
Cette méthode règle tous les membres booléens de my_cm.builtInItems sur false. Vous pouvez rendre visible un élément intégré de façon sélective en réglant le membre correspondant dans my_cm.builtInItems sur true.
Voir aussi
| menuSelect | Evénement |
flash.events.ContextMenuEvent
flash.events.ContextMenuEvent.MENU_SELECT
| Version du langage : | ActionScript 3.0 |
| Version du lecteur : | Flash Player 9 |
Distribué lorsqu’un utilisateur génère initialement un menu contextuel, mais avant que le contenu du menu contextuel soit affiché. Votre programme peut ainsi modifier les éléments de menu avant d’afficher le menu. L’utilisateur génère le menu contextuel en cliquant avec le bouton droit du périphérique de pointage.
Définit la valeur de la propriététype d'un objet événement menuSelect.
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. |
contextMenuOwner | Objet de la liste d'affichage auquel le menu est associé. |
currentTarget | L’objet qui traite activement l’objet Event avec un écouteur d’événements. |
mouseTarget | Objet de la liste d’affichage sur lequel l'utilisateur a cliqué du bouton droit de la souris pour afficher le menu contextuel. |
target | Objet ContextMenu sur le point d’être affiché. La cible ne correspond pas toujours à l’objet de la liste d’affichage qui est associé à l’écouteur d'événements. Utilisez la propriété currentTarget pour accéder à l’objet de la liste d'affichage qui traite actuellement l'événement. |
ContextMenuExample pour supprimer les éléments de menu contextuel par défaut de la scène et ajouter un nouvel élément de menu qui, s'il est cliqué, modifie la couleur d'un carré sur la scène. Cette opération se déroule selon la procédure suivante :
myContextMenu est déclarée, puis attribuée à un nouvel objet ContextMenu ; une propriété redRectangle de type Sprite est également déclarée.removeDefaultItems() est appelée, ce qui supprime tous les éléments intégrés au menu contextuel sauf Print.addCustomMenuItems() est appelée, ce qui a pour effet de placer un élément de menu appelé Red to Black (Remplacer le rouge par le noir) dans le tableau defaultItems par le biais de la méthode push() de Array. Un écouteur d'événements menuItemSelect est ajouté à l'objet ContextMenuItem et la méthode associée est appelée menuItemSelectHandler(). Cette méthode imprime certaines instructions par le biais de trace() chaque fois que le menu contextuel est affiché et l'élément Red to Black (Remplacer le rouge par le noir) sélectionné. Parallèlement, le carré rouge est supprimé et remplacé par un carré noir.menuSelect est ajouté avec la méthode associée menuSelectHandler qui imprime trois instructions par le biais detrace() chaque fois qu'un élément du menu contextuel est ouvert.addChildren() dessine ensuite un carré rouge et l'ajoute à la liste d'affichage dans laquelle il apparaît immédiatement.myContextMenu est attribuée au menu contextuel de l'icône animée (sprite) redRectangle si bien que le menu contextuel personnalisé s'affiche uniquement lorsque le pointeur de la souris est positionné sur le carré.
package {
import flash.ui.ContextMenu;
import flash.ui.ContextMenuItem;
import flash.ui.ContextMenuBuiltInItems;
import flash.events.ContextMenuEvent;
import flash.events.ContextMenuEvent;
import flash.display.Sprite;
import flash.display.Shape;
import flash.text.TextField;
public class ContextMenuExample 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 ContextMenuExample() {
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;
}
}
}
M'envoyer un message électronique lorsque des commentaires sont ajoutés à cette page | Rapport de commentaire
Page en cours: http://livedocs.adobe.com/flash/9.0_fr/ActionScriptLangRefV3/flash/ui/ContextMenu.html