〜 テキスト 〜
文字列の中央揃え・右揃え表示

ウィンドウ内にテキストを表示する命令は基点が左端となります。
必ずしも、左端を基準にしたいってことはなく、たまには右端が指定位置に来たり、
指定座標がテキストの中心となるように配置したい場合もあることでしょう。
右端を基点にしたい場合は、桁揃えを行うコチラのものでも事足りるかもしれません。
	

align 文字列, タイプ
文字列表示するメッセージ、または変数を指定する。
タイプ揃えるタイプ(0:左揃え 1:中央揃え 2:右揃え)を指定する。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#module
#deffunc align str, int
	mref string, 32 : mref type, 1
	cx = csrx : cy = csry
	pos 0, dispy : mes string                  // 見えない位置に書き込む
	ginfo 7
	switch type
	case 1: pos cx - (prmx / 2), cy : swbreak // 中央揃え
	case 2: pos cx - prmx, cy : swbreak       // 右揃え
	default: pos cx, cy : swbreak             // 左揃え
	swend
	mes string
	pos cx, cy + prmy
	return
#global

	kijun = winx / 2
	color 255 : line kijun, 0, kijun, winy                          // 分かりやすいように線を引く
	color
	pos kijun, 100 : align "通常の左寄せテスト(mes,printと同じ)", 0 // 座標(320, 100)が左端
	pos kijun, 200 : align "中央揃え(タイプ1)表示のテスト", 1       // 座標(320, 100)が中央
	pos kijun, 300 : align "右寄せ(タイプ2)表示のテスト", 2         // 座標(320, 100)が右端
	stop

align 文字列, タイプ
文字列表示するメッセージ、または変数を指定する。
タイプ揃えるタイプ(0:左揃え 1:中央揃え 2:右揃え)を指定する。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
#module
#deffunc align str string, int type, local cx, local cy
	cx = ginfo_cx : cy = ginfo_cy
	pos 0, ginfo_dispy : mes string                // 見えない位置に書き込む
	switch type
	case 1:  pos cx - ginfo_mesx / 2, cy : swbreak // 中央揃え
	case 2:  pos cx - ginfo_mesx, cy : swbreak     // 右揃え
	default: pos cx, cy : swbreak                  // 左揃え
	swend
	mes string
	pos cx, cy + ginfo_mesy
	return
#global

	kijun = ginfo_winx / 2
	color 255 : line kijun, 0, kijun, ginfo_winy                    // 分かりやすいように線を引く
	color
	pos kijun, 100 : align "通常の左寄せテスト(mes,printと同じ)", 0 // 座標(320, 100)が左端
	pos kijun, 200 : align "中央揃え(タイプ1)表示のテスト", 1       // 座標(320, 200)が中央
	pos kijun, 300 : align "右寄せ(タイプ2)表示のテスト", 2         // 座標(320, 300)が右端