Flex中如何利用PopUpButton控件创建一个弹出TitleWindow的例子
2009-11-11 14:16
701 查看
接下来的例子演示了Flex中如何利用PopUpButton控件,创建一个弹出TitleWindow(点击按钮会弹出半透明选择窗口)。
让我们先来看一下Demo(可以右键View Source或点击这里察看源代码
):
Download: main.mxml <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" verticalAlign="middle" backgroundColor="white"> <mx:Style> TitleWindow { roundedBottomCorners: false; borderColor: haloSilver; backgroundColor: haloSilver; borderAlpha: 0.8; backgroundAlpha: 0.8; dropShadowEnabled: false; } </mx:Style> <mx:Script> <![CDATA[ import mx.controls.CheckBox; import mx.controls.dataGridClasses.DataGridColumn; private function checkBox_change(evt:Event):void { var ch:CheckBox = evt.currentTarget as CheckBox; var idx:int = int(ch.data); var obj:Object = arrColl.getItemAt(idx); obj.sel = ch.selected; arrColl.disableAutoUpdate(); arrColl.setItemAt(obj, idx); } private function selectAll(evt:Event):void { var idx:int; var item:Object; for (idx=0; idx<arrColl.length; idx++) { item = arrColl.getItemAt(idx); item.sel = CheckBox(evt.currentTarget).selected; } arrColl.refresh(); } private function sel_labelFunc(item:Object, col:DataGridColumn):String { var bool:Boolean = item.hasOwnProperty("sel") && (item.sel == "true" || item.sel == true); return bool.toString(); } ]]> </mx:Script> <mx:ArrayCollection id="arrColl"> <mx:source> <mx:Array id="arr"> <mx:Object label="Button" /> <mx:Object label="ButtonBar" /> <mx:Object label="CheckBox" /> <mx:Object label="ColorPicker" sel="true" /> <mx:Object label="ComboBox" sel="true" /> <mx:Object label="DataGrid" sel="true" /> <mx:Object label="DateChooser" /> <mx:Object label="DateField" sel="true" /> <mx:Object label="HorizontalList" /> <mx:Object label="HRule" /> <mx:Object label="HSlider" /> <mx:Object label="Image" /> <mx:Object label="Label" /> <mx:Object label="LinkBar" /> <mx:Object label="LinkButton" /> <mx:Object label="List" sel="true" /> <mx:Object label="Menu" /> <mx:Object label="MenuBar" /> <mx:Object label="NumericStepper" sel="true" /> <mx:Object label="ProgressBar" /> <mx:Object label="RadioButton" /> <mx:Object label="RadioButtonGroup" /> <mx:Object label="RichTextEditor" sel="true" /> <mx:Object label="Spacer" /> <mx:Object label="SWFLoader" /> <mx:Object label="TabBar" /> <mx:Object label="Text" /> <mx:Object label="TextArea" /> <mx:Object label="TextInput" /> <mx:Object label="TileList" /> <mx:Object label="Tree" sel="true" /> <mx:Object label="VideoDisplay" /> <mx:Object label="VRule" /> <mx:Object label="VScrollBar" /> <mx:Object label="VSlider" /> </mx:Array> </mx:source> </mx:ArrayCollection> <mx:ApplicationControlBar dock="true"> <mx:PopUpButton id="popUpButton" label="Please select some components" openAlways="true" close="arrColl.refresh();"> <mx:popUp> <mx:TitleWindow id="titleWin" height="200" showCloseButton="true" verticalScrollPolicy="on" horizontalScrollPolicy="off" close="popUpButton.close();"> <mx:ToolBar width="320"> <mx:Repeater id="myRep" dataProvider="{arrColl}"> <mx:CheckBox data="{myRep.currentIndex}" label="{myRep.currentItem.label}" selected="{myRep.currentItem.sel}" change="checkBox_change(event);" width="100" /> </mx:Repeater> </mx:ToolBar> <mx:ControlBar> <mx:CheckBox label="Select All" labelPlacement="left" change="selectAll(event);" /> </mx:ControlBar> </mx:TitleWindow> </mx:popUp> </mx:PopUpButton> </mx:ApplicationControlBar> <mx:DataGrid dataProvider="{arrColl}"> <mx:columns> <mx:DataGridColumn dataField="label" /> <mx:DataGridColumn dataField="sel" labelFunction="sel_labelFunc" /> </mx:columns> </mx:DataGrid> </mx:Application>
相关文章推荐
- Flex中如何利用PopUpButton控件创建一个弹出TitleWindow的例子
- Flex中如何利用PopUpManager类创建一个弹出Image控件的例子
- Flex中如何利用键盘关闭(Esc)一个弹出窗口的例子
- Flex中如何利用PopUpManager类在TitleWindow的弹出窗口中播放一段影像(VideoDisplay)的例子
- Flex中通过isPopUp属性创建一个不可拖动TitleWindow的例子
- Flex中如何利用树形控件(Tree Control)和SWFLoader控件创建简单图片相册的例子
- Flex中如何通过设置editable属性创建一个可编辑的DataGrid控件的例子
- Flex中如何利用mx:states和mx:State创建不同状态应用的例子
- Flex中如何利用mx.utils.UIDUtil类的createUID()函数创建UID的例子
- Flex中如何利用titleIcon属性给Panel容器标题部添加一个ICON图标的例子
- Flex中如何创建一个线性斜度填充列图(ColumnChart)的例子
- Flex中如何利用mx:states和mx:State创建不同状态应用的例子
- Flex中如何在ArrayCollection创建一个可视化的游标(cursor)的例子
- Flex中如何利用Bitmap和BitmapData类复制图片到一个TileList控件的例子
- Flex应用中如何利用source属性嵌入字体的例子
- Flex中如何使用WebService类调用一个简单web service的例子
- Flex中如何将HSlider控件作为DataGrid列中的一个项目的例子
- Flex的VideoDisplay控件中如何创建和使用ActionScript暗点的例子
- Flex中利用Array类中的every()事件循环遍历一个数组的例子(ActionScript 3.0)
- Flex中如何创建一个可以自动换行并调整布局的ToolBar容器