• User Attivo

    NativeMenu in Flash Air per app Windows Desktop

    Salve a tutti, dopo un lungo periodo di latitanza ritorno a scrivere in questo splendido forum.
    Ho realizzato una app in Adobe Air utilizzando AS3 e come pacchetto di installazione uso un file air, la app deve giare solo su pc, non è destinata a nessun market.

    Per rendere più efficiente questa mia app ho pensato di inserire un menu, ho visto che su Air è possibile utilizzare la classe NativeMenu, ho cercato di utilizzarla ma senza successo, ho trovato degli esempi di classe ma anche in questo caso non sono riuscito a venirne fuori.

    Qualcuno ha già usato questa classe?
    Mi basta capire come creare un menu base di questo tipo

    miorootmenu --> miomenu --> miafunzione

    Grazie per il tempo che mi dedicherete.


  • User Attivo

    Cercando, cercando sono arrivato a realizzare questo codice semplificato al massimo, il menú esce ma il problema è che appena inserisco un listener il programma va in errore, dove sbaglio?

    stage.nativeWindow.menu = createAppMenu();function createAppMenu():NativeMenu
    {
    var AppMenu:NativeMenu = new NativeMenu();

    var fileMenu:NativeMenuItem = AppMenu.addItem(new NativeMenuItem("File"));
    var SubMenu:NativeMenu = new NativeMenu();
    var SubMenuItem:NativeMenuItem = SubMenu.addItem(new NativeMenuItem("mostra report"));
    fileMenu.submenu = SubMenu;
    SubMenu.addEventListener(Event.SELECT, miafunzione("false"));
    return AppMenu;
    

    }


  • User Attivo

    Risolto, il problema riguardava principalmente il fatto che la funzione da richiamare con il listener deve essere interna alla funzione stessa, inoltre non posso passare direttamente dal listener una variabile alla funzione.
    Di seguito posto il codice.

    stage.nativeWindow.menu = createAppMenu();function createAppMenu():NativeMenu
    {
    var AppMenu:NativeMenu = new NativeMenu();

    var fileMenu:NativeMenuItem = AppMenu.addItem(new NativeMenuItem("File"));
    var SubMenu:NativeMenu = new NativeMenu();
    var SubMenuItem:NativeMenuItem = SubMenu.addItem(new NativeMenuItem("nome sub menu"));
    fileMenu.submenu = SubMenu;

    SubMenuItem.addEventListener(Event.SELECT, miafunzione);

    function miafunzione()
    {
    richiamofunzioneesterna(valoredapassare);
    }

    return AppMenu;
    }