2009-09-08 10 views
0

2つのイメージを含むVBoxを動的に追加して作成しました。 UIComponentから派生したカスタムコンポーネントに追加します。問題は、2つの画像を含むVboxが非常に小さいサイズにすぎないことです。私はVBoxを2つの画像のサイズに伸ばしたいと思います。フレックスダイナミックに作成されたコンポーネントがカスタムコンポーネントに追加されました

これは私がVBoxのを割り当てる....コンポーネントは、このようなものです....私はVBOXを作成していますか

public class MyComponent extends UIComponent 

var open:Image = new Image(); 
open.source = 'assets/icons/open.png'; 

var save:Image = new Image(); 
save.source = 'assets/icons/save.png'; 

var box:VBox = new VBox(); 
box.addChild(open); 
box.addChild(save); 

ですこのようなコンポーネント(これはcreationCompleteイベントの後にあります)

キャンバスを取得する予定ですので、私はこれを行う更新表示リストで

...

override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void { 
    if(_hoverOptions) 
    { 
     _hoverOptions.move(unscaledWidth+2,2); //please note this is not the problem, 
    } 
} 

事前に助けてくれてありがとう...

答えて

0

あなたは、UIComponentを拡張する必要がありますあなたはもっと早くそこにいます:

package 
{ 
    import flash.events.Event; 

    import mx.containers.Canvas; 
    import mx.core.UIComponent; 

    public class MyUIComponent extends Canvas 
    { 
     private var _vBoxOptions:UIComponent; 

     public function MyUIComponent() 
     { 
      super(); 
     } 

     public function set vBoxOptions(value:UIComponent):void 
     { 
      if(_vBoxOptions && this.contains(_vBoxOptions)) 
      { 
       this.removeChild(_vBoxOptions); 
      } 

      _vBoxOptions = value; 
      _vBoxOptions.validateNow(); 

      this.addChild(_vBoxOptions); 
     } 
    } 
} 
+0

こんにちは、私はできるかどうかは分かりません。しかし、とにかく私はまだ問題が何であるか知りたいですか? – rid00z

+0

キャンバスはその内容に動的にサイズ変更されます(VBoxも同様です)。 UIComponentはその内容にリサイズされません。それはシェルです。この場合、サイズ変更されていないようです。キャンバスに置いたときにコンポーネントが期待どおりに表示されるのはこのためです。 UIComponentが特に必要な場合を除き、Canvasを使用してください。 –

関連する問題