2011-04-26 46 views
0

所以我试图打开第二个窗口,意思是一个固定大小的窗口。我已将可调整大小的属性设置为false,但似乎没有任何效果。如何使窗口不可调整大小?

,这里是我的示例代码

主要应用

<?xml version="1.0" encoding="utf-8"?> 
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009" 
         xmlns:s="library://ns.adobe.com/flex/spark" 
         xmlns:mx="library://ns.adobe.com/flex/mx" 
         height="600" 
         creationComplete="onCreationComplete()"> 
    <fx:Script> 
     <![CDATA[ 
      import foo.TestWindow; 

      protected function onCreationComplete():void 
      { 
       var window:TestWindow = new TestWindow(); 
       window.open(); 
      } 

     ]]> 
    </fx:Script> 
</s:WindowedApplication> 

TestWindow

<?xml version="1.0" encoding="utf-8"?> 
<s:Window xmlns:fx="http://ns.adobe.com/mxml/2009" 
      xmlns:s="library://ns.adobe.com/flex/spark" 
      xmlns:mx="library://ns.adobe.com/flex/mx" width="400" height="300" 
      resizable="false"> 

    <s:Label text="this window should not be resizable" /> 
</s:Window> 

当我运行这段代码,我的期望是,TestWindow应该不会改变大小。不过,我可以调整大小,没有任何问题。我在这里错过了什么吗?

+1

我刚刚运行了你的代码,它使用Flex 4.1对我来说工作正常(即,不调整TestWindow实例的大小)。必须是迄今为止所提供的内容。你能提供一些关于你的环境和/或编译器设置的细节吗?你是否改变了应用描述文件中的东西,比如打开系统镶边? – merv 2011-04-27 01:37:52

+0

我同意merv,显示描述符文件。另外,如果所有其他都失败了,禁用系统镶边一定会停止它。 – 2011-04-27 12:46:19

+0

我没有改变任何设置。我创建了一个新的Flex项目,以便我可以找出问题。所以我想知道它为什么对你有用..以及设置最大化到错误为我解决它。 – lordofthefobs 2011-04-27 18:18:15

回答

3

我使用Flash Builder 4.5和根标签s:WindowedApplications:Window像你说的;并没有名为“可调整大小”的属性。
虽然我在寻找更好的解决方案,但我只是发现了这一点。希望能帮助你:
http://www.actionscript-flash-guru.com/blog/16-code-for-a-resizable-window-in-as3

这里是一个非常简单的解决办法:
转到您的应用程序并打开HalloFlex-app.xml文件的src文件夹。这是应用程序配置文件,并进行以下调整到该文件中的最大化和resizable属性:

<maximizable>false</maximizable> 
<resizable>false</resizable> 

这样,你的应用程序窗口将既不是调整大小,也不是最大化。 谢谢!

0

我不知道为什么这不起作用,但你可以尝试设置maxWidth,minWidth,maxHeight和minHeight。

1

好吧,我想通了。您还需要最大化的属性设置为false以及这个工作......