AIR - 将NativeWindow的大小设置为包括系统镶边

dav*_*vid 5 air stage actionscript-3 nativewindow

你如何找出系统chrome的大小,以便我可以指定窗口大小来达到我想要的舞台大小?

如果我的主窗口设置为800 x 600(阶段),并且我创建了如下的第二个窗口,它将更小.

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();

}
Run Code Online (Sandbox Code Playgroud)

我假设你增加两者newWindow.width = 800;newWindow.height = 600;考虑到铬,但你如何找到这个值?

Pat*_*ick 5

您可以通过用内部尺寸(不包括镀铬)减去窗户尺寸(包括镀铬)来计算镀铬的尺寸。

来自NativeWindows的宽度帮助:

为本机窗口报告的尺寸包括显示的任何系统窗口镶边。窗口内可用显示区域的宽度可从 Stage.stageWidth 属性获得。

因此可以通过舞台对象( stage.stageWidth 和 stage.stageHeight: )获取内部大小

因此 :

var chromeWidth=newWindow.width-newWindow.stage.stageWidth;
var chromeHeight=newWindow.height-newWindow.stage.stageHeight;
Run Code Online (Sandbox Code Playgroud)