jan
10

Le 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

Exemple

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>

Télécharger le fla

Voila +++



Personnalisation du menu contextuel de Flash avec ContextMenu.
Inscrivez vous aux flux RSS pour rester informé des news du site.

Social Bookmarking
AJOUTER A: Digg AJOUTER A: Del.icio.us AJOUTER A: Technorati AJOUTER A: StumbleUpon AJOUTER A: Reddit AJOUTER A: Slashdot AJOUTER A: Netscape AJOUTER A: Furl AJOUTER A: Newsvine AJOUTER A: Yahoo AJOUTER A: Google AJOUTER A: Blinklist AJOUTER A: Spurl AJOUTER A: Diigo AJOUTER A: Ma.Gnolia





Quelque chose à dire? Dites-le ci-dessous.