Avatar billede kalleballe Nybegynder
18. maj 2005 - 14:35 Der er 2 kommentarer og
1 løsning

menubar komponent problem

Hej, jeg har en menu lavet med xml og menubar komponentet.

Jeg fanger fint diverse 'klik' på niveau2 med en listener, - det jeg også gerne vil er at fange 'klik' på niveau1 i menuen altså:

niveau1      niveau1        niveau 1
niveau2      niveau2        niveau2
niveau2      niveau2        niveau2
niveau2      niveau2        niveau2

altså 3 hoved links med dropdown.

Så hvordan fanger jeg events på niveau 1?

P.S. her er min kode:

//#include "menuBar_v1.as"
import mx.controls.Menu;
var sitesMenu:Menu;
var blogsMenu:Menu;
_global.antal_menu_punkter = 5;
var myXML:XML = new XML ();
myXML.ignoreWhite = true;
myXML.load ("menu.xml");
myXML.onLoad = function (success:Boolean)
{
    if (success)
    {
        trace ("XML loaded.");
        myMenuBar.dataProvider = this;
        init ();
        //trace(this.getMenuItemAt(0));  // sites node
        //trace(this.getMenuItemAt(1));  // blogs node
    }
    else
    {
        trace ("Error loading XML file");
    }
};
function init ():Void
{
    for (var i = 0; i < _global.antal_menu_punkter; i++)
    {
        sitesMenu = myMenuBar.getMenuAt (i);
        sitesMenu.addEventListener ("change", menuListener);
    }
}
var menuListener:Object = new Object ();
menuListener.change = function (evt:Object)
{
    /* evt object contains 4 properties:
                                    1) menuBar:MovieClip    - Reference to MenuBar instance (undefined if no MenuBar exists)
                                    2) menu:MovieClip        - Reference to Menu instance
                                    3) menuItem:XMLNode        - Example: <link label="Home" instanceName="cmx" url="http://www.communitymx.com/" />
                                    4) groupName:String        - Name of radio button group to which item belongs (undefined if item is not in radio button group)
                                    */
    trace ("evt.menuBar = " + evt.menuBar);
    var menu:MovieClip = evt.menu;
    var menuItem:XMLNode = evt.menuItem;
    if (String (evt.menu) == String ("_level0.depthChild" + (_global.antal_menu_punkter - 1)))
    {
        trace ("du trykkede på det sidste punkt");
    }
   
    //trace("blogsMenu: " + blogsMenu);        // Result: _level0.depthChild1
    //trace("menuBar: " + evt.menuBar);        // Result: _level0.myMenuBar
    //trace("menu: " + evt.menu);            // Result: _level0.depthChild1
    //trace("menuItem: " + evt.menuItem);    // Result: <link label="Home" instanceName="cmx" url="http://www.communitymx.com/" />
    //trace("menu.cmx: " + menu.cmx);        // Result: <link label="Home" instanceName="cmx" url="http://www.communitymx.com/" />
    switch (menu)
    {
    case sitesMenu :
        trace ("You chose Sites menu: " + menuItem);
        break;
    case blogsMenu :
        trace ("You chose Blogs menu: " + menuItem);
    }
    switch (menuItem)
    {
    case menu.cmx :
        trace ("cmx tested true");
        break;
    case menu.calendar :
        trace ("calendar tested true");
        break;
    case menu.mm :
        trace ("mm tested true");
        break;
    case menu.devnet :
        trace ("devnet tested true");
    }
};



vh

KalleBalle
Avatar billede pyroman Nybegynder
18. maj 2005 - 16:36 #1
Svar: Det gør man ikke ;)

Menubar-komponenten er desværre ikke lavet til at kunne klare dette...
Jeg har kigget lidt på sagerne - og det kan ikke lade sig gøre uden at ændre en del i kildekoden til menubar komponenten.
Avatar billede kalleballe Nybegynder
18. maj 2005 - 16:38 #2
ok tak, - jeg har nogenlunde fixet det ved at lægge en knap hen over det punkt hvor jeg ville have noget andet til at ske, - men føj for en stinker :(

vh

KalleBalle
Avatar billede kalleballe Nybegynder
11. november 2005 - 16:23 #3
lukker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester