【发布时间】:2011-09-28 14:19:20
【问题描述】:
我制作了这个简单的应用程序来演示我的问题。它有:
- 一张图片
- 启动弹出窗口的按钮
- 侧面的滚动条
<mx:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
verticalScrollPolicy="on"
horizontalScrollPolicy="on"
layout="vertical">
<fx:Script>
<![CDATA[
import mx.managers.PopUpManager;
public function buttonClick():void {
PopUpManager.createPopUp(this,JakePanel,true);
}
]]>
</fx:Script>
<mx:Image width="2000"
source="@Embed(source='assets/image.jpg')"/>
<mx:Button click="{buttonClick()}" label="Launch"/>
</mx:Application>
当按下启动按钮时,它会启动这个弹出窗口:
<?xml version="1.0" encoding="utf-8"?>
<mx:Panel xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
layout="vertical"
width="400" height="300"
title="Popup"
>
<fx:Script>
<![CDATA[
import mx.managers.PopUpManager;
public function close():void {
PopUpManager.removePopUp(this);
}
]]>
</fx:Script>
<s:TextArea text="Enter more text here: " width="100%" height="200"/>
<s:Button label="OK" click="{close()}" width="100%" height="30" />
</mx:Panel>
这是我的要求
当弹出窗口打开时,我需要能够禁用除弹出窗口之外的所有内容。为此,我使用:
PopUpManager.createPopUp(this,JakePanel,true);。最后一个参数指定弹出是“模态的”,它应该捕获所有鼠标事件。我还需要允许在弹出窗口打开时启用主滚动条。通常我的用户会在一个很小的屏幕上打开应用程序,并且无法调整应用程序的大小。例如:
当应用程序太小而无法单击确定按钮时,这是一个问题:
有没有办法让除了主滚动条之外的所有东西都“模态”?我知道我可以在面板上放置一个滚动条,但我宁愿避免这样做。
【问题讨论】: