// ------------------------------------------------------------------------------------------ //Alert组件小技巧 import mx.controls.Alert; _global.style.setStyle("themeColor", "haloOrange") test_btn.onPress = function() { Alert.okLabel = "可以"; Alert.noLabel = "不可以"; Alert.buttonWidth = 100; Alert.buttonHeight = 30; _global.style.modalTransparency = 50; var a:MovieClip = Alert.show("by www.fanflash.cn", "测试", Alert.OK | Alert.NO, _root, function (e:Object) { trace(e.detail); }); a.move(0, 0); var c:Color = new Color(findName(a._name)); c.setRGB(0x3366FF); }; function findName(s:String):MovieClip { var n:Number = Number(s.slice(String("depthChild").length, s.length)); return this["depthChild"+(++n)]; } // ------------------------------------------------------------------------------------------ //组件onRollOver事件的设定 //方法一 //保持其的drawFocus,即是画绿色边框,只要重复其"部分内部已有定义"即可 //针对单一组件的非纯正的事件驱动机制的简易方法,适用于局部的少数按钮 myBtn.onRollOver =function(){ super.onRollOver(); //等价 this.phase = "rollover"; this.refresh(); trace("myBtn onRollOver "); } //方法二 //当为为所有组件(含btn基类的)均设置此种简易方法时,应使用 //没有使用事件机制导致所有组件均接受了指令,污染比较严重 mx.controls.Button.prototype.onRollOver =function(){ super.onRollOver(); trace("effected? ") //。。。。添加你要的东西来这里 } //方法三 //1 加入事件播放 congfiguration\classes\mx\controls\SimpleButton.as // 查找 onRollOver 函数,改为 function onRollOver(Void):Void{ phase = "rollover"; dispatchEvent({type:"onRollOver"}); refresh() } //2 要强迫IDE重编下子,即在 fla首帧中加入下面任意一行语句 var __temp:mx.controls.SimpleButton; var __temp:mx.controls.Button; import mx.controls.Button; //3 btn组件命名 myBtn,输入代码 myBtnObj.onRollOver =function(){ trace("in myBtnObj onRollOver "); } myBtn.addEventListener("onRollOver",myBtnObj); // ------------------------------------------------------------------------------------------ // 设置Accordion组件的样式 _global.styles.Accordion.setStyle("borderStyle", "none"); _global.styles.Accordion.setStyle("color", 0xFFFFFF); _global.styles.Accordion.setStyle("headerHeight", 25); _global.styles.Accordion.setStyle("openDuration", 100); _global.styles.Accordion.setStyle("backgroundColor", undefined); _global.styles.AccordionHeader.setStyle("fontSize", 12); _global.styles.AccordionHeader.setStyle("fontWeight", "normal"); // ------------------------------------------------------------------------------------------ // 组件数据通过数组刷新更新 //mx.controls.listclasses.DataProvider.as myArray = [] myArray[0] = {label:0} myArray[1] = {label:1} myArray[2] = {label:2} myArray[3] = {label:3} myList.dataProvider = myArray myArray[4] = {label:4} //this will not show in the component! myArray.dispatchEvent( {type:"modelChanged", eventName:"redraw"} ) // ------------------------------------------------------------------------------------------ // XMLConnector其实就是一个XML,RPC,DataProvider等API组合起来 myxmlcon.direction = "receive"; myxmlcon.URL = "test.xml"; myxmlcon.trigger(); var obj = new Object(); obj.result = function(evt) { trace(evt.target.results); trace(typeof evt.target.results); var tmp:XML = evt.target.results; trace(tmp.firstChild.nodeName); }; myxmlcon.addEventListener("result", obj); //先将组件拖入scene:将其删除,目的是使组件添加进library,然后程序调用;或者不删除将其赋予实例名调用 //调用方法一--------------------------------------------- import mx.controls.Button; createClassObject(Button,"button2",5,{label:"Test Button"}); //调用方法二--------------------------------------------- createClassObject(mx.controls.Button,"button2",5,{label:"Test Button"}); //组件常用方法的使用------------------------------------------------------------------------ _root.createObject("Button", "button1", 1); //建一个button组件,button1为button组件的实例名 button1.setSize(80,20); //设置大小 button1.label="闪式天下"; //按钮的名称(文本标签) button1.setStyle("fontWeight", "bold"); //定义字体 button1._x=275; button1._y=200; //按钮的位置 myButton=new Object() myButton.click=function(){ getURL("http://www.mcmx.com"); } button1.addEventListener("click",myButton) //为按钮加入链接 //comboBox运行指定的选项------------------------------------------------------------------------ //copyright by webstudio.com.cn 2005.2.20 import mx.controls.ComboBox; import mx.transitions.Tween; import mx.transitions.easing.*; createClassObject(ComboBox, "myCombo", this.getNextHighestDepth(), {_x:10, _y:10}); myCombo.setSize(350); myCombo.setStyle("openEasing", Bounce.easeOut); myCombo.setStyle("openDuration", 500); links = new Array(); links[0] = "http://www.webstudio.com.cn/wsswf/comboswf/myswf1.swf"; links[1] = "http://www.webstudio.com.cn/wsswf/comboswf/myswf2.swf"; links[2] = "http://www.webstudio.com.cn/wsswf/comboswf/myswf3.swf"; myListener = new Object(); myListener.change = function() { var holder = _root.createEmptyMovieClip("holder_mc", this.getNextHighestDepth(), {_x:10, _y:40}); holder.loadMovie(links[myCombo.selectedIndex]); }; myCombo.addEventListener("change", myListener); myCombo.dataProvider = links; function setValue(pValue:String):Void { for (var i = 0; i