Link i MenuBar
Jeg har fundet et script til en MenuBar, og det fungere sådan set, men jeg kan ikke hitte ud af hvor linkene er til knapperne...Scriptet ser sådan ud:
import mx.controls.Menu;
import mx.controls.MenuBar;
import mx.controls.TextArea;
// instances on the stage
var my_mb:MenuBar;
var selected_ta:TextArea;
// variables in this script
var file_menu:Menu;
// recent_menu (below) _should_ be of type Menu, but because
// menu.addMenuItem returns an Object, we have to declare
// submenus as type Object, and not type Menu or else the
// compiler will complain with an error.
var recent_menu:Object;
var edit_menu:Menu;
var view_menu:Menu;
var Div_menu:Menu;
var view_xml:XML; // to illustrate creating a menu with xml
/*=================
FILE MENU
=================*/
file_menu = my_mb.addMenu("File");
// "new" is the linkage id of the movie clip to be used as the icon for the "New" menu item.
file_menu.addMenuItem({label:"New", instanceName:"newInstance", icon:"new"});
file_menu.addMenuItem({label:"Open", instanceName:"openInstance"});
// recent menu is a submenu
recent_menu = file_menu.addMenuItem({label:"Open Recent", instanceName:"recentInstance"});
recent_menu.addMenuItem({label: "Recent Doc 1", instanceName:"doc1Instance"});
recent_menu.addMenuItem({label: "Recent Doc 2", instanceName:"doc2Instance"});
file_menu.addMenuItem({label:"Exit", instanceName:"exitInstance"});
/*=================
EDIT MENU
=================*/
edit_menu = my_mb.addMenu("Edit");
edit_menu.addMenuItem({ label:"Item 1", type:"radio", selected:true, enabled:true, instanceName:"radioItem1", groupName:"group1" } );
edit_menu.addMenuItem({ label:"Item 2", type:"radio", selected:false, enabled:true, instanceName:"radioItem2", groupName:"group1" } );
edit_menu.addMenuItem({type:"separator"});
edit_menu.addMenuItem({ label:"Item 3", type:"radio", selected:false, enabled:true, instanceName:"radioItem3", groupName:"group2" } );
edit_menu.addMenuItem({ label:"Item 4", type:"radio", selected:true, enabled:true, instanceName:"radioItem4", groupName:"group2" } );
edit_menu.addMenuItem({type:"separator"});
edit_menu.addMenuItem({ label:"Item 5", type:"check", selected:false, enabled:true, instanceName:"checkItem1" } );
edit_menu.addMenuItem({ label:"Item 6", type:"check", selected:true, enabled:false, instanceName:"checkItem2" } );
/*=================
VIEW MENU
=================*/
// in this menu, the menu options are controlled by an xml data provider
view_xml = new XML();
view_xml.ignoreWhite = true;
view_xml.parseXML("<menuitem label=\"expand me\"><menuitem label=\"expanded1\" instanceName=\"expanded1Instance\" /><menuitem label=\"check me\" type=\"check\" instanceName=\"expanded2Instance\" /></menuitem><menuitem label=\"option 1\" instanceName=\"option1Instance\" /><menuitem label=\"option 2\" instanceName=\"option2Instance\" />");
view_menu = my_mb.addMenu("View", view_xml);
/*=================
Div MENU
=================*/
Div_menu = my_mb.addMenu("Div");
Div_menu.addMenuItem({label:"About", instanceName:"DivInstance"});
// The listenered for the file menu (and submenus)
var fileListener:Object = new Object();
fileListener.change = function(eventObj : Object) : Void {
selected_ta.text = "Selected item: " + eventObj.menuItem;
// determine which menu item was selected,
// and call the correct action function - the functions
// are commented out (I didn't write them), and are just
// there to give you an idea of how to write an event
// handler
switch (eventObj.menuItem) {
case eventObj.menu.newInstance: /* new_Click(); */ break;
case eventObj.menu.openInstance: /* open_Click(); */ break;
case eventObj.menu.doc1Instance: /* openRecent_Click(1) */ ; break;
case eventObj.menu.doc2Instance: /* openRecent_Click(2) */; break;
// etc...
}
}
// A generic listener used for the edit, view
//and help menus (and their submenus)
change = function(eventObj : Object) : Void {
selected_ta.text = "Dumping eventObj... ";
for (var i in eventObj) {
selected_ta.text += newline + "eventObj[" + i + "] = " + eventObj[i];
}
}
// register the listeners with the separate menus
file_menu.addEventListener("change", fileListener);
edit_menu.addEventListener("change", this);
view_menu.addEventListener("change", this);
Div_menu.addEventListener("change", this);
