您的位置:首页 > 其它

FLEX- MDI窗口开发实例

2008-07-01 14:50 447 查看
例子的展示

http://www.returnundefined.com/flexmdi/explorer/

例子的效果图



例子的下载地址 http://www.cnblogs.com/Files/jssy/MDIImpl.rar 代码: application.mxml

<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" xmlns:mdi="ext.containers.windows.mdi.*" width="100%" height="100%" creationComplete="initCollections();">

<mx:Script>

<![CDATA[

import mx.events.MenuEvent;

import mx.collections.XMLListCollection;

import mx.controls.Alert;

import mx.managers.PopUpManager;

import mx.managers.SystemManager;

import mx.containers.Panel;

import ext.containers.windows.mdi.ChildWindow;

import mx.events.FlexEvent;

private var menuBarXML:XMLList = <> <menuitem label = "windows"> <menuitem label ="create window" data="createWindow"/> <menuitem label ="close window" data="closeWindow"/> <menuitem label ="max window" data ="maxWindow"/> <menuitem label ="min window" data = "minWindow"/> <menuitem label ="min all windows" data ="minAllWindows"/> <menuitem label ="Tile window" data ="tileWindow"/> <menuitem label ="Cascade window" data ="cascadeWindow"/> </menuitem> <menuitem label ="modal window"> <menuitem label ="create modal window" data ="showModal"/> </menuitem> </>;

[Bindable]

private var menuBarCollection:XMLListCollection;

private function initCollections():void {

menuBarCollection = new XMLListCollection(menuBarXML);

}

private function menuHandler(e:MenuEvent):void{

//Alert.show(e.item.@data);

switch(String(e.item.@data)){

case "createWindow":

new MDITest1().addToMainArea();

break;

case "showModal":

(new ModalWindow()).showModal();

break;

case "closeWindow":

ma.windowClose();

break;

case "maxWindow":

ma.maxActiveWindow();

break;

case "minWindow":

ma.minActiveWindow();

break;

case "minAllWindows":

ma.windowMinimizeAll();

break;

case "tileWindow":

ma.windowTileHorizontal();

break;

case "cascadeWindow":

ma.windowCascade();

break;

}

}

]]>

</mx:Script>

<mx:MenuBar x="0" y="0" labelField="@label" itemClick="menuHandler(event);" dataProvider="{menuBarCollection}" width="100%" />

<mdi:MainArea id="ma" width="100%" height="100%"/>

</mx:Application>

=================================================================================

MDITest1.mxml 1

<?xml version="1.0" encoding="utf-8"?>

<ChildWindow xmlns="ext.containers.windows.mdi.*" xmlns:mx="http://www.adobe.com/2006/mxml" width="400" height="300" xmlns:flexlib="flexlib.containers.*" title="child window">

<flexlib:Docker>

<flexlib:DockableToolBar width="215">

<mx:Button width="30" label="B" fontWeight="bold" fontFamily="Arial"/>

<mx:Button width="32" label="I" fontStyle="italic"/>

</flexlib:DockableToolBar>

</flexlib:Docker>

</ChildWindow>

ModalWindow.mxml

<?xml version="1.0" encoding="utf-8"?>

<Window xmlns="ext.containers.windows.*"

xmlns:mx="http://www.adobe.com/2006/mxml" width="412" height="322"

layout="absolute" xmlns:flexlib="flexlib.containers.*"

title="This is a modal window" >

<mx:Script>

<![CDATA[

import mx.controls.Alert;

]]>

</mx:Script>

<mx:Button label="close" x="331" y="246" click="modalResult = Alert.CANCEL;"/>

<flexlib:SuperTabNavigator x="10" y="10" width="376" height="221" tabEnabled="true">

<mx:Canvas label="one" width="100%" height="100%">

<mx:DataGrid x="5" y="0" width="100%" height="100%">

<mx:columns>

<mx:DataGridColumn headerText="Column 1" dataField="col1"/>

<mx:DataGridColumn headerText="Column 2" dataField="col2"/>

<mx:DataGridColumn headerText="Column 3" dataField="col3"/>

</mx:columns>

</mx:DataGrid>

</mx:Canvas>

<mx:Canvas label="two" width="100%" height="100%">

</mx:Canvas>

<mx:Canvas label="three" width="100%" height="100%">

</mx:Canvas>

<mx:Canvas label="four" width="100%" height="100%">

</mx:Canvas>

</flexlib:SuperTabNavigator>

<mx:Button label="ok" x="288" y="246" click="modalResult = Alert.OK"/>

</Window>

类ext.containers.windows.*的下载地址在syWindows.swc包中,该包的源代码下载地址是/article/4937362.html

flexmdi的下载地址 http://code.google.com/p/flexmdi/downloads/list

flexlib的下载地址 http://flexlib.googlecode.com/files/flexlib-.2.4.zip

至此以上的代码可以运行了。如果只是new childwindow只要导入类ext.containers.windows.*
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: