Comunidad de diseño web y desarrollo en internet online

Configura el MenuBar

Citar            
MensajeEscrito el 12 Jul 2004 01:26 am
Buenas a todos, tengo una pregunta...Como puedo hacer con el MenuBar para hacer un listener al "Menu" y no al "MenuItem", osea, tengo varios menus dentro mi MenuBar, pero uno de ellos no tiene submenus, solo he usado "addMenu", o es q esto no es posible con este comp?.

Por skins_say

76 de clabLevel



 

unknown
Citar            
MensajeEscrito el 12 Jul 2004 08:23 am
Para hacer eso tienes que usar el evento menuShow, he modificado un código y lo he adaptado para que lo veas.

Código :

//Atacheamos el menu de nuestra librería
attachMovie("menuBar", "barramenu", 1);

//Propiedades del menu
barramenu._x = 0;
barramenu._y = 0;
barramenu.setSize(300, 18);

//Estilos
barramenu.setStyle("fontFamily", "_sans");
barramenu.setStyle("fontSize", "10");


//Creamos las opciones del menu
var menuArchivo = barramenu.addMenu("Archivo");
menuArchivo.addMenuItem({label:"Nuevo", instanceName:"archivoNuevo"});
menuArchivo.addMenuItem({label:"Abrir", instanceName:"archivoAbrir"});
menuArchivo.addMenuItem({type:"separator"});
menuArchivo.addMenuItem({label:"Cerrar", instanceName:"archivoCerrar"});
//Propiedades
menuArchivo.rowHeight = 16;

var menuEdicion = barramenu.addMenu("Edición");
menuEdicion.addMenuItem({label:"Copiar", instanceName:"edicionCopiar"});
menuEdicion.addMenuItem({label:"Cortar", instanceName:"edicionCortar"});
menuEdicion.addMenuItem({label:"Pegar", instanceName:"edicionPegar"});
menuEdicion.addMenuItem({type:"separator"});
menuEdicion.addMenuItem({label:"Estirar", instanceName:"edicionEstirar"});
menuEdicion.addMenuItem({label:"Rotar", instanceName:"edicionRotar"});
menuEdicion.addMenuItem({type:"separator"});
menuEdicion.addMenuItem({label:"Propiedades...", instanceName:"edicionPropiedades"});
//Propiedades
menuEdicion.rowHeight = 16;

var menuAyuda = barramenu.addMenu("Ayuda");
menuAyuda.addMenuItem({label:"Ayuda", instanceName:"ayudaAyuda"});
menuAyuda.addMenuItem({label:"Tutoriales", instanceName:"ayudaTutoriales"});
menuAyuda.addMenuItem({label:"Ejemplos", instanceName:"ayudaEjemplos"});
menuAyuda.addMenuItem({type:"separator"});
menuAyuda.addMenuItem({label:"Acerca de Elecash.org", instanceName:"ayudaElecash"});
menuAyuda.addMenuItem({label:"Acerca de Cristalab.com", instanceName:"ayudaCristalab"});
//Propiedades
menuAyuda.rowHeight = 16;


//Listener para cuando se activa el evento menuShow.
var alAbrir = new Object();

alAbrir.menuShow = function(evento){
   if (evento.menu == depthChild0){
      trace("Has abierto Archivo");
   }
   else if (evento.menu == depthChild1){
      trace("Has abierto Edición");
   }
   else if (evento.menu == depthChild2){
      trace("Has abierto Ayuda");
   }
}

menuArchivo.addEventListener("menuShow", alAbrir);
menuEdicion.addEventListener("menuShow", alAbrir);
menuAyuda.addEventListener("menuShow", alAbrir);


Con depthchild, podemos saber que menu está abierto, así depthChild0 es el primer menú, depthChild1, es el segundo, etc... Obviamente, tu si quieres no puedes poner nada dentro de tu menú, y éste se convertirá en un botón.

De forma que tu menú podrias dejarlo así...

Código :

var menuAyuda = barramenu.addMenu("Ayuda");
//Propiedades
menuAyuda.rowHeight = 16;


Espero que te funcione, saludos...

^^

Por Elecash

Claber

8126 de clabLevel

37 tutoriales
19 articulos
13 ejemplos

  Bastard Operators From Hell Desarrollador de GAIA Premio_Secretos Héroes

BarnaCity

unknown
Citar            
MensajeEscrito el 13 Jul 2004 01:12 am
Muchas graxias elecash, ahora ya entendi =), lo poco q se del comp lo vi del ejem original de tu blog :p

Saludos

Por skins_say

76 de clabLevel



 

unknown
Citar            
MensajeEscrito el 13 Jul 2004 07:45 am
Bueno, siempre esta bien saber que alguien a parte de mi, ve ese blog XD.


Gracias!

Por Elecash

Claber

8126 de clabLevel

37 tutoriales
19 articulos
13 ejemplos

  Bastard Operators From Hell Desarrollador de GAIA Premio_Secretos Héroes

BarnaCity

unknown
Citar            
MensajeEscrito el 17 Jul 2004 05:54 pm
uhmm....despues de intentar un monton de veces el codigo e incluso copiarlo exactamente igual no me dio resultado....no se q fue lo q pasa....supongo q hay algun error en el codigo o....sera q soy tan inutil q no puedo ni hacer un copy???? haber si lo pruebas y ves cual es el error....grax de antemano.

Saludos!!!!

Por skins_say

76 de clabLevel



 

unknown
Citar            
MensajeEscrito el 17 Jul 2004 07:02 pm
El codigo que puse estaba probado y testeado, mira a ver si has puesto un componente menubar en tu libreria, y si usas Flash MX 2004, de todas maneras cuando pueda lo vuelvo a testear, aunque yo diria que iba...

Deeeu

Por Elecash

Claber

8126 de clabLevel

37 tutoriales
19 articulos
13 ejemplos

  Bastard Operators From Hell Desarrollador de GAIA Premio_Secretos Héroes

BarnaCity

unknown
Citar            
MensajeEscrito el 17 Jul 2004 09:31 pm
Claro hice todo eso....los menuItem me funcionan bien, incluso sus acciones, pero no pasa lo mismo con los menus princ....

Por skins_say

76 de clabLevel



 

unknown
Citar            
MensajeEscrito el 19 Jul 2004 09:25 am
Mira, yo con este código puedo ver si abro los menús o si clico en los menuItems, pruebalo y a ver que tal, que yo en este hice un copy paste de los buenos, jeje...

Ahí va el código:

Código :

//Atacheamos el menu de nuestra librería 
attachMovie("menuBar", "barramenu", 1); 

//Propiedades del menu 
barramenu._x = 0; 
barramenu._y = 0; 
barramenu.setSize(300, 18); 

//Estilos 
barramenu.setStyle("fontFamily", "_sans"); 
barramenu.setStyle("fontSize", "10"); 


//Creamos las opciones del menu 
var menuArchivo = barramenu.addMenu("Archivo"); 
menuArchivo.addMenuItem({label:"Nuevo", instanceName:"archivoNuevo"}); 
menuArchivo.addMenuItem({label:"Abrir", instanceName:"archivoAbrir"}); 
menuArchivo.addMenuItem({type:"separator"}); 
menuArchivo.addMenuItem({label:"Cerrar", instanceName:"archivoCerrar"}); 
//Propiedades 
menuArchivo.rowHeight = 16; 

var menuEdicion = barramenu.addMenu("Edición"); 
menuEdicion.addMenuItem({label:"Copiar", instanceName:"edicionCopiar"}); 
menuEdicion.addMenuItem({label:"Cortar", instanceName:"edicionCortar"}); 
menuEdicion.addMenuItem({label:"Pegar", instanceName:"edicionPegar"}); 
menuEdicion.addMenuItem({type:"separator"}); 
menuEdicion.addMenuItem({label:"Estirar", instanceName:"edicionEstirar"}); 
menuEdicion.addMenuItem({label:"Rotar", instanceName:"edicionRotar"}); 
menuEdicion.addMenuItem({type:"separator"}); 
menuEdicion.addMenuItem({label:"Propiedades...", instanceName:"edicionPropiedades"}); 
//Propiedades 
menuEdicion.rowHeight = 16; 

var menuAyuda = barramenu.addMenu("Ayuda"); 
menuAyuda.addMenuItem({label:"Ayuda", instanceName:"ayudaAyuda"}); 
menuAyuda.addMenuItem({label:"Tutoriales", instanceName:"ayudaTutoriales"}); 
menuAyuda.addMenuItem({label:"Ejemplos", instanceName:"ayudaEjemplos"}); 
menuAyuda.addMenuItem({type:"separator"}); 
menuAyuda.addMenuItem({label:"Acerca de Elecash.org", instanceName:"ayudaElecash"}); 
menuAyuda.addMenuItem({label:"Acerca de Cristalab.com", instanceName:"ayudaCristalab"}); 
//Propiedades 
menuAyuda.rowHeight = 16; 


//Listener para cuando se activa el evento menuShow. 
var alAbrir = new Object(); 
alAbrir.menuShow = function(evento){ 
   if (evento.menu == depthChild0){ 
      trace("Has abierto Archivo"); 
   } 
   else if (evento.menu == depthChild1){ 
      trace("Has abierto Edición"); 
   } 
   else if (evento.menu == depthChild2){ 
      trace("Has abierto Ayuda"); 
   } 
} 

//Listener para cuando se activa el evento onChange.
alCambiar = new Object();
alCambiar.change = function(evento){
   var menu = evento.menu;
   var item = evento.menuItem;

   //Menu Archivo
   if (item == menu.archivoNuevo){
      trace(item.attributes.label);
   }
   else if (item == menu.archivoAbrir){
      trace(item.attributes.label);
   }
   else if (item == menu.archivoCerrar){
      trace(item.attributes.label);
   }
   
   //Menu Edicion
   else if (item == menu.edicionCopiar){
      trace(item.attributes.label);
   }
   else if (item == menu.edicionCortar){
      trace(item.attributes.label);
   }
   
   //Menu Ayuda
   else if (item == menu.ayudaCristalab){
      getURL("http://www.cristalab.com", "_blank");
   }
   else if (item == menu.ayudaElecash){
      getURL("http://www.elecash.org/blog", "_blank");
   }
}

//Eventos para cuando seleccionamos algún menuItem
menuArchivo.addEventListener("change", alCambiar);
menuEdicion.addEventListener("change", alCambiar);
menuAyuda.addEventListener("change", alCambiar);
//Eventos para cuando abrimos un menú
menuArchivo.addEventListener("menuShow", alAbrir); 
menuEdicion.addEventListener("menuShow", alAbrir); 
menuAyuda.addEventListener("menuShow", alAbrir);


Vamos, este te tiene que ir por narices, que a mi me va XD

Y si no te va... preparate a sufrir la ira de los BOFH :|


Un saludo! ^^

Por Elecash

Claber

8126 de clabLevel

37 tutoriales
19 articulos
13 ejemplos

  Bastard Operators From Hell Desarrollador de GAIA Premio_Secretos Héroes

BarnaCity

unknown
Citar            
MensajeEscrito el 31 Jul 2004 02:58 am
Ya con el .fla del tuto me quedo claro....:), ahora, os sigo molestando con una pregunta mas....me explico, cuando haces click en uno de los menues, ya el resto queda activado, osea se realiza su accion con un onFocus o algo asi, hay alguna forma de que solo se realice la accion solo cuando haces click sobre algun menu????

Salu2!

Por skins_say

76 de clabLevel



 

unknown

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.