2012-01-19 29 views
5

सिस्टम क्रोम का आकार कैसे पता लगाता है ताकि मैं स्टेज आकार को प्राप्त करने के लिए विंडो आकार निर्दिष्ट कर सकूं?एआईआर - नेटिवविंडो का सेट आकार सिस्टम क्रोम

यदि मेरी मुख्य विंडो 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(); 

} 

मैं तुम दोनों 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 का उपयोग नहीं किया जा सकता क्योंकि वे आंतरिक चौड़ाई के अनुरूप आकार बदलते नहीं हैं। आपको मुख्य विंडो चरण का संदर्भ देना होगा।

मुख्य खिड़कियां आंतरिक चरण ऊंचाई और चौड़ाई को ढूंढने के लिए आप चरण.nativeWindow.stage संदर्भ चरण का उपयोग कर सकते हैं हाइट और चरणविड्थ गुण जो आंतरिक चौड़ाई देता है।

उदा। 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);