2012-01-19 10 views
5

システムクロームのサイズを調べて、私が望むステージサイズになるようにウィンドウサイズを指定する方法を教えてください。AIR - システムクロムを含めるためにNativeWindowのサイズを設定しました

私のメインウィンドウが800 x 600(ステージ)に設定されていて、下のように2番目のウィンドウを作成した場合、それは小さくなります。

public function Main():void 
{ 
    var windowOptions:NativeWindowInitOptions = new NativeWindowInitOptions(); 
    windowOptions.systemChrome = NativeWindowSystemChrome.STANDARD; 
    windowOptions.type = NativeWindowType.NORMAL; 
    var newWindow:NativeWindow = new NativeWindow(windowOptions); 
    newWindow.width = 800; 
    newWindow.height = 600; 
    newWindow.stage.scaleMode = StageScaleMode.NO_SCALE; 
    newWindow.stage.align = StageAlign.TOP_LEFT; 
    newWindow.activate(); 

} 

私はあなたがクロムを考慮してnewWindow.width = 800;newWindow.height = 600;の両方を増加させると仮定しますが、どのようにこの値を見つけるのですか?

答えて

4

クロムのサイズは、クロムを含まないウィンドウサイズ(クロムを含む)と内部サイズ(クロムを除く)を差し引くことで計算できます。 NativeWindowsのwidth助けから

:ネイティブウィンドウについて報告

寸法が表示されているすべてのシステムウィンドウ クロムが含まれます。有効な表示領域の幅は、 ウィンドウのStage.stageWidthプロパティから取得できます。インナーサイズがstage object(stage.stageWidthとstage.stageHeight:)を得ることができる

したがって

var chromeWidth=newWindow.width-newWindow.stage.stageWidth; 
var chromeHeight=newWindow.height-newWindow.stage.stageHeight; 
0

NO_SCALE stage.stageHeightとステージとActionScriptプロジェクトを作成します.stageWidthは、内側の幅に合わせてサイズ変更されないため、メインアプリケーションウィンドウでクロムを計算するために使用することはできません。メインウィンドウステージを参照する必要があります。

メインウィンドウの内側の高さと幅を見つけるには、stage.nativeWindow.stageを使用します。内部の幅を与えるstageHeightプロパティとstageWidthプロパティを参照します。

1280x720希望の内部サイズの場合:

// width stage.nativeWindow.width = 1280 + (stage.nativeWindow.width - 
stage.nativeWindow.stage.stageWidth); 

// height stage.nativeWindow.height = 720 + (stage.nativeWindow.height 
- stage.nativeWindow.stage.stageHeight); 
0

参考までに、私は他の回答が十分にはっきりしていないと感じます。新しいウィンドウを希望のサイズに設定するには:

// first set the desired window dimensions to set the (smaller) stage dimensions: 
newWindow.width = 1024; 
newWindow.height = 768; 

// then reset the window dimensions and add chrome dimensions: 
newWindow.width = 1024 + (1024 - newWindow.stage.stageWidth); 
newWindow.height = 768 + (768 - newWindow.stage.stageHeight); 
関連する問題