1

コンテンツDisaplyObjectを取得し、それ自体をポップアップして表示するポップアップウィンドウクラスを作成しようとしていますが、コンテンツのサイズをウィンドウに合わせたり、その逆で頭を割ったりしています...私は思うウィンドウがステージ全体または何かを表示していない可能性がありますか?!

コンテンツが大きくなりすぎて、範囲を超えてしまいます。

コードは次のとおりです。

public class SubWindow extends NativeWindow{

 public function SubWindow() 
  {

   var windowOptions:NativeWindowInitOptions = new NativeWindowInitOptions();
     windowOptions.systemChrome = NativeWindowSystemChrome.STANDARD;
     windowOptions.type = NativeWindowType.UTILITY;
   windowOptions.resizable = false;
   super(windowOptions);
   this.stage.align = StageAlign.TOP_LEFT;
     width = 400;
     height = 400;
     title = "Are you sure?";
   alwaysInFront = true;
   activate();
   visible = false;
   addEventListener(Event.CLOSING, closeWindow, false, 0, true); 
  }

  public function closeWindow(e:Event)
  {
   e.stopImmediatePropagation();
         e.stopPropagation();
         e.preventDefault();
   visible = false;
  }

  public function setContent(cont:DisplayObject)
  {
   visible = true;
   //this.width = stage.stageWidth;
   //this.height = stage.stageHeight;
   trace(cont.getBounds(stage), width, height, stage.stageWidth,stage.stageHeight);


   cont.height = stage.stageHeight;
   cont.width = stage.stageWidth;
   cont.x = cont.y = 0;
   this.stage.addChild(cont);
   trace(cont.width, width, height, stage.stageWidth,stage.stageHeight);
  }
 }

ありがとう、ミク

4

2 に答える 2

0

今、私はそれを解決したと思います!

最初にコンテンツを作成します。

var myContent:MyCustomContentClass = new MyCustomContentClass();

次に、ウィンドウを作成し、サイズと位置を設定します

var myWindow:NativeWindow = new NativeWindow();
myWindow.stage.align = StageAlign.TOP_LEFT;
myWindow.width = myContent.width;
myWindow.height = myContent.height

スケール モードをスケールなしに設定します。

myWindow.stage.scaleMode = StageScaleMode.NO_SCALE;

そして、コンテンツを追加します

myWindow.stage.addChild(myContent); 
myWindow.activate();

osX で実行する場合、まだいくつかの小さな問題がありますが、システム クロムのサイズに関係していると思います。

于 2011-10-19T11:13:48.177 に答える