JavaScript里有alert,VB里有msgBox,JAVA里有JDialog,那么Flash里有什么呢?Flash有Window!
Window是Flash MX 2004的组件之一,它的作用与alert、msgBox等等类似,起到弹出一个窗口的作用。这个窗口可以是模式的,也可以是非模式的。
Window组件的Window类从属于mx.containers包,因此完整的写法是mx.containers.Window。使用Window组件打开一个窗口的方法有几种,最常用的是PopUpManager.createPopUp(),与之对应,关闭窗口的是Window.deletePopUp()。PopUpManager类的完整引用是mx.managers.PopUpManager,有机会再介绍它。
Window类的属性直接从帮助里COPY过来:
Window.closeButton:指明标题栏上是(true)否(false)包含关闭按钮。
Window.content:对在contentPath属性中指定的内容的引用。
Window.contentPath:在窗口中所显示内容的路径。
Window.title:标题栏中显示的文本。
Window.titleStyleDeclaration:设置标题栏中文本格式的样式声明。
最轻易让人迷惑的是单击Window的关闭按钮并不能关闭窗口。这是因为Window类仅仅留出了click事件,但这个事件并没做关闭窗口的事情,因此我们只好亲自写代码将其关闭,当然了,使用前面说的Window.deletePopUp()。
下面就来操作一下:
1、从组件面板中将Window组件拖到舞台上,再按Delete删除(和帮助里的说法一样,只为了向库中添加该组件)。
2、创建一MC元件"xx",其中做段动画,再加个输入文本txt。为该元件添加链接"xx"(这个元件将加载到Window中,作为Window的content)。
3、添加一button到舞台,命名button,添加一动态文本到舞台,命名wtxt(单击button时打开Window,在Window的xx的txt中输入的文本将显示在wtxt中)。
4、第1帧添AS:
import mx.containers.Window;
//导入Window类
import mx.managers.PopUpManager;
//导入PopUpManager类
button.onRelease = function() {
myWindow = new Object();
myWindow = PopUpManager.createPopUp(_root, Window, true);
//_root表明打开的Window是_root的子窗口
//true表明打开的是模式窗口,即该窗口关闭之前舞台中的其它对象是不可用的
myWindow.title = "Window Component";
myWindow.contentPath = "xx";
myWindow.closeButton = true;
myWindow.setSize(200, 200);
myWindow._x = (Stage.width-myWindow.width)/2;
myWindow._y = (Stage.height-myWindow.height)/2;
obj = new Object();
obj.click = function() {
_root.wtxt.text = myWindow.content.txt.text;
myWindow.deletePopUp();
};
myWindow.addEventListener("click", obj);
//注重上面6行,为myWindow添加eventListener来侦听单击关闭按钮的事件,其中做了两件事:取文本内容和关闭窗口
};
------------------------
单击button弹出窗口:
关闭窗口,取得文本内容:
效果:
点击浏览该文件 点击浏览该文件