PopUpButton 下拉弹出窗口控件
2010-06-02 20:23
447 查看
PopUpButton 是一个特殊的Button, 本身由两个Button组成:主按钮和子按钮。点击子按钮可以将任何组件作为窗口弹出,置于最上层。这个弹出动作由 PopUpMenuButton 完成。
PopUpButton 的open 事件和 close 事件:弹出和弹出窗口关闭时触发。
popUp 属性:将要弹出的对象。
DropdownEvent.CLOSE 和 DropdownEvent.OPEN 事件专门针对弹出窗口。点击主按钮,触发的事件和Button 是一样的,比如click。
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="initApp()" layout="absolute">
<mx:Style>
Application{
fontSize:12;
backgroundGradientColors: #c0c0c0, #c0c0c0;
}
</mx:Style>
<mx:Script>
<![CDATA[
import mx.containers.Panel;
import mx.controls.Alert;
import mx.events.DropdownEvent;
private var panel:Panel;
private function initApp():void {
panel = new Panel(); //声明新的Panel
panel.title = "panel";
panel.width = 200;
panel.height = 200;
popBtn.popUp = panel; //指定popUp目标对象
popBtn.addEventListener(DropdownEvent.CLOSE,closeHandler); //
popBtn.open(); //将窗口弹出
}
private function closeHandler(evt:DropdownEvent):void{
Alert.show("关闭窗口");
}
]]>
</mx:Script>
<mx:PopUpButton id="popBtn" label="弹出" width="135" x="23" y="23"/>
</mx:Application>
PopUpMenuButton
继承自PopUpButton,是 PopUpButton的一个特殊实例。只能把Menu 当作弹出窗口,且Menu 只能有1给层级。
Menu 用来创建菜单,不过和 Menu相比,它少了菜单条。且没有对应的MXML标签,只能由代码创建。
PopUpMenuButton 中内置了一个Menu 。
定义XML 数据,将它传给 PopUpMenuButton 的 dataProvider ,作为内置的Menu 的数据源。
MenuEvent.ITEM_CLICK 事件:当菜单项被选中时,事件被触发,同时菜单关闭。
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="initApp()" layout="absolute">
<mx:Style>
Application{
fontSize:12;
backgroundGradientColors: #c0c0c0, #c0c0c0;
}
</mx:Style>
<mx:Script>
<![CDATA[
import mx.controls.Alert;
import mx.events.MenuEvent;
private var mXML:XMLList =
<>
<node label="文件">
<node label="新建画板" data="new"/>
<node label="清除画板" data="clear" enabled="false"/>
<node label="退出系统" data="logout"/>
</node>
<node label="工具"/>
<node label="帮助">
<node label="帮助" data="help"/>
<node label="关于作者" data="about"/>
</node>
</>;
private function initApp():void {
popBtn.dataProvider = mXML; //弹出菜单的数据源
popBtn.addEventListener(MenuEvent.ITEM_CLICK,clickHandler);
}
private function clickHandler(evt:MenuEvent):void{
Alert.show("选择菜单:"+evt.label+":菜单序号:"+evt.index);
}
]]>
</mx:Script>
<mx:PopUpMenuButton id="popBtn" labelField="@label" width="135" x="23" y="23"/>
</mx:Application>
PopUpButton 的open 事件和 close 事件:弹出和弹出窗口关闭时触发。
popUp 属性:将要弹出的对象。
DropdownEvent.CLOSE 和 DropdownEvent.OPEN 事件专门针对弹出窗口。点击主按钮,触发的事件和Button 是一样的,比如click。
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="initApp()" layout="absolute">
<mx:Style>
Application{
fontSize:12;
backgroundGradientColors: #c0c0c0, #c0c0c0;
}
</mx:Style>
<mx:Script>
<![CDATA[
import mx.containers.Panel;
import mx.controls.Alert;
import mx.events.DropdownEvent;
private var panel:Panel;
private function initApp():void {
panel = new Panel(); //声明新的Panel
panel.title = "panel";
panel.width = 200;
panel.height = 200;
popBtn.popUp = panel; //指定popUp目标对象
popBtn.addEventListener(DropdownEvent.CLOSE,closeHandler); //
popBtn.open(); //将窗口弹出
}
private function closeHandler(evt:DropdownEvent):void{
Alert.show("关闭窗口");
}
]]>
</mx:Script>
<mx:PopUpButton id="popBtn" label="弹出" width="135" x="23" y="23"/>
</mx:Application>
PopUpMenuButton
继承自PopUpButton,是 PopUpButton的一个特殊实例。只能把Menu 当作弹出窗口,且Menu 只能有1给层级。
Menu 用来创建菜单,不过和 Menu相比,它少了菜单条。且没有对应的MXML标签,只能由代码创建。
PopUpMenuButton 中内置了一个Menu 。
定义XML 数据,将它传给 PopUpMenuButton 的 dataProvider ,作为内置的Menu 的数据源。
MenuEvent.ITEM_CLICK 事件:当菜单项被选中时,事件被触发,同时菜单关闭。
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="initApp()" layout="absolute">
<mx:Style>
Application{
fontSize:12;
backgroundGradientColors: #c0c0c0, #c0c0c0;
}
</mx:Style>
<mx:Script>
<![CDATA[
import mx.controls.Alert;
import mx.events.MenuEvent;
private var mXML:XMLList =
<>
<node label="文件">
<node label="新建画板" data="new"/>
<node label="清除画板" data="clear" enabled="false"/>
<node label="退出系统" data="logout"/>
</node>
<node label="工具"/>
<node label="帮助">
<node label="帮助" data="help"/>
<node label="关于作者" data="about"/>
</node>
</>;
private function initApp():void {
popBtn.dataProvider = mXML; //弹出菜单的数据源
popBtn.addEventListener(MenuEvent.ITEM_CLICK,clickHandler);
}
private function clickHandler(evt:MenuEvent):void{
Alert.show("选择菜单:"+evt.label+":菜单序号:"+evt.index);
}
]]>
</mx:Script>
<mx:PopUpMenuButton id="popBtn" labelField="@label" width="135" x="23" y="23"/>
</mx:Application>
相关文章推荐
- 控件:PopupWindow --- 弹出窗口(基本操作)
- popupWin 属性及用法介绍 ASP.NET控件,仿QQ,msn右下角弹出窗口
- 一个简单的PopupWindow做的选项菜单点击按钮会在按钮下弹出几个下拉控件
- 局部刷新 与 点击按钮弹出窗口 (ajax 控件 updatepanel ModalPopupExtender ) 今天怎么老出问题呢
- popupWin 属性及用法介绍 ASP.NET控件,仿QQ,msn右下角弹出窗口
- Popup.js 弹出窗口
- android PopupWindow实现从底部弹出或滑出选择菜单或窗口
- PopupWindow 弹出在控件上
- wpf用户控件 弹出窗口因主窗体最小化而消失的问题
- 模式窗口里面,服务器控件添加确认操作时,又弹出新窗口
- 鼠标右键弹出菜单 上传图片自定义控件 弹出菜单(PopUp 控件)
- Flex创建弹出菜单(PopUpButton/Menu/PopMenuButton)
- 在WebBrowser控件打开的网页链接后直接打开而不新弹出IE窗口来打开
- flex PopUpManager createPopUp方式弹出窗口
- 步步为营_Android开发课[26]_用户界面之PopupWindow(弹出窗口)
- Button只弹出一个PopUp窗体
- 好的弹出窗口控件
- 用户控件 + ScriptManager 实现点击后弹出窗口且窗口坐标追随点击位置效果
- VC,webbrowser控件中弹出新网页窗口
- ASP.NET中关于验证控件和自定义弹出确认窗口的冲突问题