mx.containers
Canvas クラス



Canvas クラス
mx.containers.Container の拡張Canvas レイアウトコンテナは、子コンテナやコントロールを配置する長方形の領域を定義します。このコンテナは、その内部における子の位置を、各子の x および y プロパティを使用して明示的に指定できる唯一のコンテナです。
Canvas レイアウトコンテナの子は、それぞれの推奨されている幅および高さに設定されます。必要な場合は、子の width プロパティを固定ピクセル値またはコンテナサイズのパーセント値に設定することにより、その子の推奨幅の測定値をオーバーライドできます。高さも同様の方法で設定できます。
Canvas コンテナ内でパーセントによるサイズ指定を使用している場合、コンポーネントの一部が重複します。これが必要な効果でない場合は、コンポーネントの位置とサイズを慎重に計画してください。MXML シンタックス
<mx:Canvas> レイアウトコンテナは、親クラスのすべてのプロパティを継承します。新たなプロパティは追加されません。
<mx:Canvas
clipContent="true|false"
defaultButton="No default."
hLineScrollSize="1"
hPageScrollSize="5"
hPosition="0"
hScrollPolicy="auto|on|off"
icon="No default."
label="No default."
vLineScrollSize="1"
vPageScrollSize="5"
vPosition="0"
vScrollPolicy="auto|on|off"
/>
例を参照するにはここをクリックしてください
Canvas
Canvas( )
コンストラクタです。
layoutChildren
layoutChildren( )
: Void
コンテナの子のサイズを設定します。Canvas は、子の位置を変更しません。それぞれの子は、その x および y プロパティの値に応じて配置されます。
幅や高さの値が設定されていない場合に、Canvas は、各子の幅と高さを、その子の preferredWidth および preferredHeight と一致するよう設定します。幅や高さをパーセント値に設定することで、子をサイズ変更可能にできます。サイズ変更可能な子は、Canvas コンテナの右端および下端で囲まれます。この場合は、子の minWidth、minHeight、maxWidth、および maxHeight の値が使用されます。
このメソッドを直接呼び出すことは避けてください。このメソッドは Flex LayoutManager によって適切なときに呼び出されます。アプリケーション起動時には、Flex LayoutManager はすべてのコンポーネントでルートから開始して下方向に layoutChildren() メソッドを呼び出します。
これは、サブクラスの処理で使用する高度なメソッドです。このメソッドをオーバーライドする場合、実装で super.layoutChildren()メソッドを呼び出すか、子それぞれで move() および setSizeNoLayout() メソッドを呼び出す必要があります。レイアウトを実行するために、このコンテナのサイズは width および height プロパティではなく、layoutWidthおよび layoutHeight の各プロパティから取得してください。width および height プロパティは、このコンテナの scaleX および scaleY プロパティの値を考慮しません。
measure
measure( )
: Void
Canvas の推奨、最小、および最大サイズを計算します。Canvas の preferredWidth は、すべての子を、切り取ることなくそれぞれの preferredWidth で表示できる最小の大きさです。この measure() メソッドは、右端の子の位置を計算し、その子の右端の位置を計算してから、Canvas の境界線の幅の領域および右マージンを追加します。preferredHeight も同様に計算されます。
Canvas コンテナの minWidth および minHeight プロパティは計算されません。したがってデフォルト値の 0 が使用されます。
Canvas コンテナの maxWidth および maxHeight プロパティは計算されません。コンテナの最大幅と最大高さは無限であると想定されます。
上記の値はすべて、Canvas の計算された幅と高さです。setSize() メソッドを呼び出すか、以下のプロパティの値を明示的に指定することにより、計算された値をオーバーライドできます。
minHeight minWidth maxHeight maxWidth preferredHeight preferredWidth height width
このメソッドを直接呼び出すことは避けてください。このメソッドは Flex LayoutManager によって適切なときに呼び出されます。アプリケーションの起動時に、Flex LayoutManager は子から親までのすべてのコンポーネントを、最終的なサイズに設定する前に測定しようとします。
これは、サブクラスの処理で使用する高度なメソッドです。このメソッドをオーバーライドする場合、実装で super.measure() メソッドを呼び出すか、または _measuredPreferredHeight および _measuredPreferredWidth プロパティを設定する必要があります。また、任意で以下のプロパティも設定します。
_measuredMinWidth _measuredMinHeight
これらのプロパティは上記のレイアウトプロパティに対応しているため、別途には説明しません。
className
className:String
このクラスの名前です。
version
static version:String
このクラスのバージョンを表すストリングです。
| SimpleCanvasExample.mxml |
<?xml version="1.0"?>
<!-- Canvas レイアウトの使用方法を示す簡単な例 -->
<mx:Application xmlns:mx="http://www.macromedia.com/2003/mxml" backgroundColor="#FFFFFF"
width="100%" height="100%">
<mx:Panel title="Canvas Panel" width="80%" height="100%">
<mx:Canvas borderStyle="solid" id="myCanvas" backgroundColor="#66CCFF"
width="100%" height="100%">
<mx:Link click="getURL('http://www.macromedia.com/cfusion/search/')" borderStyle="inset"
label="Search" x="10" y="50"/>
<!-- Even though Image is placed 2nd in the canvas container, it shows up in the top left
corner of the canvas because of x="1" y="1" properties.Unlike other containers,
various components in canvas can be positioned by using x and y properties.-->
<mx:Image source="@Embed('FlexLogo.gif')" x="1" y="1"/>
<mx:Link click="getURL('http://www.macromedia.com/help/')" borderStyle="inset"
label="Help" x="10" y="100"/>
<mx:Link click="getURL('http://www.macromedia.com/macromedia/contact/')" borderStyle="inset"
label="Contact Macromedia" x="10" y="170"/>
</mx:Canvas>
</mx:Panel>
</mx:Application>
|