レイアウト

レイアウトの種類

レイアウトには以下のような種類がある。

columnLayout
部品を縦1列に並べるレイアウト。
rowLayout
部品を横1列に並べるレイアウト。
rowColumnLayout
部品を縦・横に並べるレイアウト。
formLayout
部品を絶対的・相対的な位置指定で並べるレイアウト。
frameLayout
部品に枠(フレーム)をつけて表示する。
gridLayout
部品を同じ大きさのセルに入れて表示する。
menuBarLayout
部品にメニューバーをつけて表示する。
paneLayout
子どもの部品を様々な方向で分割して表示する。
scrollLayout
スクロール付で部品を表示する。
shelfLayout
シェルフレイアウトを作る。
shelfTabLayout
シェルレイアウトを作る。
tabLayout
タブを作る。

複数のレイアウト

レイアウトの中にレイアウトを入れておくこともできる。
そうすることによって、複雑な部品の配置を実現できる。
その場合にsetParent ..;によってどこまでが特定のレイアウトの範囲なのかを決める。

複数のレイアウトの例

GUIの部品を横に並べるためにはrowLayoutなどを使用する。
rowLayoutを使用する時には-numberOfColumnによって横に何個の部品を並べるかを指定する。
また、rowLayoutとcolumnLayoutをいっしょに使用することで、部品を縦・横に並べることができる。
例えば、以下の様にレイアウトとsetParentを組み合わせると、横1列目にA、横2列目にB、Cが並び、横3列目にD、横3列目E、F、Gが並ぶ。
rowLayoutの-columnWidth2などのフラグは各部品を並べる間隔の指定である。

window -title "layout1";
columnLayout;
button -label "A";
rowLayout -numberOfColumns 2 -columnWidth2 20 20;
	button -label "B";
	button -label "C";
setParent ..;
button -label "D";
rowLayout -numberOfColumns 3 -columnWidth3 20 20 20;
	button -label "E";
	button -label "F";
	button -label "G";
setParent ..;
showWindow;

上のMELスクリプトをlayout1.melという名前で作り実行すると以下のようなウインドウが現れる。
(各ボタンにはコマンドを割り当てていないので押しても何も実行されない。)

[sample of rowLayout]

練習

まとめ

参考


Prev | Next
Home | Contents
abe@injapan.net