API version 1
- ‐
LayoutContainerObject¶
内部に配置された子オブジェクトのレイアウト機能を持ったクラスの基底クラスです。
LayoutContainerObjectクラスは仮想クラスで、それ自体をインスタンス化することはできません。
レイアウトについて¶
子オブジェクトの配置の設定に使用されるプロパティ¶
子オブジェクトは個々のオブジェクトの以下のプロパティを設定して配置を行います。
プロパティ |
説明 |
---|---|
水平方向の表示位置を示します。 |
|
垂直方向の表示位置を示します。 |
|
水平方向の表示サイズを示します。 |
|
垂直方向の表示サイズを示します。 |
|
オブジェクト左端が、配置可能領域左端からleft指定値だけ右に来るように配置します。 |
|
オブジェクト右端が、配置可能領域右端からright指定値だけ左に来るように配置します。 |
|
オブジェクトの中央位置の配置可能領域中央からの水平方向の移動量を示します。left、rightが共に指定されていない場合のみ有効です。 |
|
オブジェクト上端が、配置可能領域上端からtop指定値だけ下に来るように配置します。 |
|
オブジェクト下端が、配置可能領域下端からbottom指定値だけ上に来るように配置します。 |
|
オブジェクトの中央位置の配置可能領域中央からの垂直方向の移動量を示します。top、bottomが共に指定されていない場合のみ有効です。 |
|
水平方向の表示サイズを示します。left、rightが両方指定されている時は無視されます。 |
|
widthをパーセント指定したときに、表示される幅の計算値がこの値より大きい場合はこの値の幅で表示されます。 |
|
widthをパーセント指定したときに、表示される幅の計算値がこの値より小さい場合はこの値の幅で表示されます。 |
|
垂直方向の表示サイズを示します。top、bottomが両方指定されている時は無視されます。 |
|
heightをパーセント指定したときに、表示される高さの計算値がこの値より大きい場合はこの値の高さで表示されます。 |
|
heightをパーセント指定したときに、表示される高さの計算値がこの値より小さい場合はこの値の高さで表示されます。 |
レイアウトの種類¶
標準のレイアウト
水平方向のレイアウト
プロパティ |
説明 |
---|---|
子オブジェクト同士の間隔を指定します。 |
|
子オブジェクトの整列方法(上寄せ・中央寄せ・下寄せ)を指定します。 |
|
子オブジェクト全体の親オブジェクト内の配置(左寄せ・中央寄せ・右寄せ)を指定します。 |
垂直方向のレイアウト
プロパティ |
説明 |
---|---|
子オブジェクト同士の間隔を指定します。 |
|
子オブジェクトの整列方法(左寄せ・中央寄せ・右寄せ)を指定します。 |
|
子オブジェクト全体の親オブジェクト内の配置(上寄せ・中央寄せ・下寄せ)を指定します。 |
グリッド状のレイアウト
Form FormGrid { x = 10; y = 335; width = 305; height = 130;
childLayout=CHILD_GRID;
var p0 = new Placement { width="60px"; height="60px";}
Button button0_0 { title = "button0_0"; placement = p0; var p = placement; p.top = 0; p.left = 0; placement = p;}
Button button0_1 { title = "button01_1";placement = p0; var p = placement; p.top = 0; p.left = 1; p.bottom=1; p.height = null; placement = p;}
Button button0_2 { title = "button0_2"; placement = p0; var p = placement; p.top = 0; p.left = 2; placement = p;}
Button button0_3 { title = "button0_3"; placement = p0; var p = placement; p.top = 0; p.left = 3; placement = p;}
Button button0_4 { title = "button0_4"; placement = p0; var p = placement; p.top = 0; p.left = 4; placement = p;}
p0 = new Placement { height="60px"; } #width不指定なので、1行目の幅指定に合わされる
Button button1_0 { title = "button1_0"; placement = p0; var p = placement; p.top = 1; p.left = 0; placement = p;}
# top = 1; left = 1 には割り当てなし(上行のセルが占有)
Button button1_2 { title = "button1_2"; placement = p0; var p = placement; p.top = 1; p.left = 2; placement = p;}
#2セル分
Button button1_3 { title = "button1_34";placement = p0; var p = placement; p.top = 1; p.left = 3; p.right = 4; placement = p; }
}
Form FormGridRow { x = 325; y = 335; width = 305; height = 130;
childLayout=CHILD_GRID;
var p0 = new Placement { width="60px"; height="60px";}
#GridRowを使う場合は、セルを上下に複数行を割り当てることはできない。
Form formGridRow1 { #top = 0に自動割り当て
childLayout=CHILD_GRIDROW;
border=BORDER_NONE;
Button button0_0 { title = "button0_0"; placement = p0; } #left = 0に自動割り当て
Button button0_1 { title = "button0_1"; placement = p0; } #left = 1に自動割り当て
Button button0_2 { title = "button0_2"; placement = p0; } #left = 2に自動割り当て
Button button0_3 { title = "button0_3"; placement = p0; } #left = 3に自動割り当て
Button button0_4 { title = "button0_4"; placement = p0; } #left = 4に自動割り当て
}
p0 = new Placement { height="60px"; } #width不指定なので、1行目の幅指定に合わされる
Form formGridRow2 { #top = 1に自動割り当て
childLayout=CHILD_GRIDROW;
border=BORDER_NONE;
Button button1_0 { title = "button1_0"; placement = p0; } #left = 0に自動割り当て
#相対指定 left=1のため、絶対座標でleft=2に割り当て
Button button1_2 { title = "button1_2"; placement = p0; var p = placement; p.left = 1; placement = p; }
#left = 3に自動割り当て
#相対指定 right=1のため、絶対座標でright=4に割り当て
#left = 3~4の2セル分占有
Button button1_3 { title = "button1_34"; placement = p0; var p = placement; p.right = 1; placement = p; }
}
}
プロパティ |
説明 |
---|---|
placement.left |
横方向の配置を指定します。 |
placement.top |
縦方向の配置を指定します。CHILD_GRIDROWを指定したオブジェクトの内部では意味を持ちません。 |
placement.right |
横方向に複数のセル領域を占有する場合に右端のセル座標を指定します。 |
placement.bottom |
縦方向に複数のセル領域を占有する場合に下端のセル座標を指定します。CHILD_GRIDROWを指定したオブジェクトの内部では意味を持ちません。 |
placement.height |
セルの高さを指定します。同一行内の複数のセルに異なる値を設定した時は、最大値が適用されます。 |
placement.width |
セルの幅を指定します。同一列内の複数のセルに異なる値を設定した時は、最大値が適用されます。 |
親オブジェクトの調整可能なプロパティは以下の通りです。
プロパティ |
説明 |
---|---|
子オブジェクトの水平方向の間隔を指定します。 |
|
子オブジェクトの垂直方向の間隔を指定します。 |
最大表示のレイアウト
フローレイアウト
子オブジェクトのサイズ調整について¶
領域全体の幅からピクセル指定の列の幅を設定値で確保します。
余った領域の幅をパーセント指定の列数で等分し、幅の計算値がそれより小さくなる列は設定値で確保します。
幅の計算値がオーバーする列や、幅を指定していない列で残りの領域を等分します。
余白について¶
親オブジェクトの内側に余白を設けるには、margin プロパティや padding プロパティを指定します。
paddingプロパティで設定された余白に子オブジェクトがはみ出した場合は、はみ出した部分も表示されます。
marginプロパティで設定された余白に子オブジェクトがはみ出した場合は、はみ出した部分は表示されません。
親オブジェクトがchildLayout=CHILD_STDのときは、placementプロパティが未設定の子オブジェクトにはpaddingは適用されません。
paddingプロパティとmarginプロパティを併用したときは、marginプロパティで設定された余白の内側にpaddingプロパティで設定された余白があるような状態になります。