Personnalisation du menu contextuel de Flash avec ContextMenu.
posté par Niums dans FlashLe menu contextuel (clic droit) est très pratique mais avec flash, lorsque vous cliquez droit, ce qui apparait n’est pas vraiment ce qui nous intéresse…
Pour palier ce problème, Adobe (macromedia) a créé la classe ContextMenu.
Alors que peut-on insérer dans ce menu contextuel ? A peu près tout. En ce qui nous concerne, on va
- afficher des liens
- ouvrir un lien dans une nouvelle fenêtre
- lancer une ou plusieurs fonctions
Allez c’est parti.
var contextLien_cm:ContextMenu = new ContextMenu();
// on retire toutes les entrées auxquelles nous pouvons avoir accès et qui ne nous intéressent pas
contextLien_cm.hideBuiltInItems() ;
Il est aussi possible de les retirer un à un au cas où vous souhaiteriez en garder certaines
monContextMenu.builtInItems.forward_back = false;
monContextMenu.builtInItems.loop = false;
monContextMenu.builtInItems.play = false;
monContextMenu.builtInItems.print = false;
monContextMenu.builtInItems.quality = false;
monContextMenu.builtInItems.rewind = false;
monContextMenu.builtInItems.save = false;
monContextMenu.builtInItems.zoom = false;
On ajoute les éléments au menu contextuel. options du ContextMenuItem : légende,onSelect,séparateurAvant,activé,visible
var newLien1_cmi = new ContextMenuItem("Voir le pilote",actionTetesAclaques)
contextLien_cm.customItems.push(newLien1_cmi);
var newLien2_cmi = new ContextMenuItem("Paris Hilton comme vous ne l'avez jamais vue",hilton )
contextLien_cm.customItems.push(newLien2_cmi);
var newLien3_cmi = new ContextMenuItem("Netvibes",actionNetvibes,true)
contextLien_cm.customItems.push(newLien3_cmi);
var newLien4_cmi = new ContextMenuItem("Google",actionGoogle)
contextLien_cm.customItems.push(newLien4_cmi);
Fonctions éxécutées après le clic droit
function actionTetesAclaques():Void{
getURL("http://www.tetesaclaques.tv/video.php?vid=22","_blank");
}
function hilton():Void{
getURL("http://fr.youtube.com/watch?v=iXWEOtnJUz4","_blank");
}
function actionNetvibes():Void{
getURL("http://www.netvibes.com","_blank");
}
function actionGoogle():Void{
getURL("http://www.google.fr","_blank");
}
On associe le menu au mc liens_mc
this.menu = contextLien_cm;
this.liens_mc.menu = contextLien_cm;
Bon à savoir: Vous pouvez aussi avoir envie de masquer le menu contextuel. Il restera tout de même “l’accès aux paramètres personnels de l’utilisateur”, et l’entrée “A propos de…”.
Avec du code actionscript :
Stage.showMenu = false;
Lors de la publication du swf dans flash:
cochez “Afficher le menu” de l’onglet HTML
Dans le code html :
- En ajoutant/modifiant la valeur false au paramètre menu dans le code source de la page HTML
<object>
<param name="menu" value="false" />
<embed menu="false" />
</object>
Voila +++
Personnalisation du menu contextuel de Flash avec ContextMenu.
Inscrivez vous aux flux RSS pour rester informé des news du site.














