Comunidad de diseño web y desarrollo en internet online

Mostrar info sobre el autor

Citar            
MensajeEscrito el 01 Sep 2009 11:57 am
Hola!

Me gustaría que al pinchar con el botón derecho sobre el swf se mostrase, por ejemplo, información sobre el autor, ¿Alguien sabe como hacer esto en Flex?

Salu2

Por Ayalga

18 de clabLevel



Genero:Femenino  

firefox
Citar            
MensajeEscrito el 03 Sep 2009 08:59 am
Tienes que crearte un "contextMenu", luego asignar la propiedad "contextMenu" del canvas al menú que hayas creado.
Pongo el ejemplo que viene en Adobe y lo trato de explicar
Un menú (ContextMenu) tiene varias opciones (ContectMenuItem) a las que hay que añadir un listener, como casi siempre

Código ActionScript :

//creamos una "opción"
var menuItem:ContextMenuItem = new ContextMenuItem("Change Color");
//le añadimos el listener, para que cuando se pulse ejecute la función "changeColor")
menuItem.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT,changeColor);
//creamos un nuevo "menú"
var customContextMenu:ContextMenu = new ContextMenu();
//Eliminamos los items por defecto
customContextMenu.hideBuiltInItems();
//añdimos la "opción" que creamos anteriormente
customContextMenu.customItems.push(menuItem);
//asignamos a la propiedad contextMenu de un "canvas", o a lo que sea dicho Menú
square.contextMenu = customContextMenu;

//¡casi se me olvida, la función
private function changeColor(evt:ContextMenuEvent):void {
   trace("hola mundo")
}


Normalmente en Flex quedaría algo como

Código ActionScript :

<?xml version="1.0" encoding="utf-8"?>
<!-- http://blog.flexexamples.com/2007/08/20/using-a-custom-context-menu-with-the-flex-datagrid-control/ -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
        layout="vertical"
        verticalAlign="middle"
        backgroundColor="white"
        creationComplete="init()">

    <mx:Script>
        <![CDATA[
            import mx.controls.Alert;
            
 
            [Bindable]
            private var customContextMenu:ContextMenu;  //la variable "customContextMenu" será accesible
                                                                    //para los componentes y para todo

            private function init():void {
                   var menuItem:ContextMenuItem = new ContextMenuItem("Change Color");
                   menuItem.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT,changeColor);
                   customContextMenu:ContextMenu = new ContextMenu();
                   customContextMenu.hideBuiltInItems();
                   customContextMenu.customItems.push(menuItem);
           }
           private function changeColor(evt:ContextMenuEvent):void {
                    trace("hola mundo")
           }
    ]]>
    </mx:Script>
    <mx:Canvas id="canvas"
            width="400"
            contextMenu="{customContextMenu}">
   </mx:Canvas>

Por Eliseo2

710 de clabLevel



 

firefox

 

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