Curl
 

Menu
 Chapter.1
 Chapter.2
 Chapter.3
 Chapter.4
 Chapter.5
 Chapter.6
 Chapter.7
 Chapter.8
 Chapter.9
 Chapter.10
 
 
■Canvas 、Grid、OverlayBox

Curlでは、この他に重要なコンテナがさらに3つサポートされています。
名前を挙げるとOverlayBox、Canvas、Gridの3つです。これらはすべて、複数のグラフィックを相互にオーバーラップして表示できます。Curlでグラフィックがオーバーラップする場合には、物理的に1つのスタックとして表示されます。つまり第2のグラフィックうは第1のグラフィックの上に表示され、それ以降も同じように表示されます。

OverlayBoxを使用すると、複数のオブジェクトを簡単にスタックでき、ボックス全体を満たす大きさにオブジェクトを伸長できます。

【OverlayBox】

{curl 6.0 applet}
{curl-file-attributes character-encoding = "shift-jis"} {OverlayBox
background="brown",
width = 5cm,
height = 3cm,
{RectangleGraphic fill-color = "blue"},
{EllipseGraphic fill-color={Color.from-string "#f9e6a6"}},

{text color="red",
font-size=24pt,
Strawberry}
}





Canvasを使用すると、特定のxy座標に各オブジェクトを配置できます。

【Canvas】

{curl 6.0 applet}
{curl-file-attributes character-encoding = "shift-jis"}
{value
let c:Canvas =
{Canvas background="lime", width=10cm, height=5cm}
{c.add {bold Words}, x=1.5cm, y=1cm}
{c.add {bold font-size=48, color="cyan",
Big Words}, x=2cm, y=2.5cm}
{c.add 1776, x=3.5cm, y=2.5cm}
{c.add {CommandButton label="Press me!"}, x=7.25cm, y=1.75cm}
{c.add
{TextField value="Hello"}, x=1cm, y=4cm}
{c.add
{VBox background="yellow", "abcdefg", "ABCDEFG"},
x=5cm,
y=2cm,
index="first"}
c
}



これらの座標の設定に応じてオブジェクト同士がオーバーラップするかどうかが決まります。
Canvasは地図や設計図などを描く場合に便利です。

Grid を使用すると、GridFiducialオブジェクトの定義に従って、フィデューシャル参照点に合わせてオブジェクトを配置できます。
GridFiducialオブジェクトを使用することは、画面上に水平ルーラーや垂直ルーラーを配置し、それらに基づいてオブジェクトを揃えるのに似ています。
Grid Frame、HBox、VBoxによって作成される単純な長方形以外の形で画面を分割したい場合に便利です。

Chapter.8(Part.2)へ戻る
Chapter.9(Part.1)へ進む