2011-04-26 43 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以及這個工作......