タブっぽいもの表示 (改)
タブっぽいもの表示 (改)
前回のを改良しました。
TabList=0
ButtonMessage="タブ1","タブ2です","タブ3だよ~ん","タブの長さに合わせてます","5番目のタブ"
*TabWrite
redraw 0
// タブ本体 (未選択)
ObjectPositionX=0
objmode 2 : font msgothic,12
foreach ButtonMessage
ObjectSizeX=6*strlen(ButtonMessage(cnt))+8
if TabList!cnt : pos ObjectPositionX,2 : objsize ObjectSizeX,22 : button gosub ButtonMessage(cnt),*TabControl : ButtonID(stat)=cnt
ObjectPositionX+ObjectSizeX
loop
// タブんとこの下の表示するとこ (オブジェクト)
switch TabList
case 0 : objmode 2 : font msgothic,12 : pos 0,45 : objsize 64,24 : input x : swbreak
case 1 : objmode 2 : font msgothic,12 : pos 0,45 : objsize 64,24 : input x : swbreak
case 2 : objmode 2 : font msgothic,12 : pos 0,45 : objsize 64,24 : input x : swbreak
case 3 : objmode 2 : font msgothic,12 : pos 0,45 : objsize 64,24 : input x : swbreak
case 4 : objmode 2 : font msgothic,12 : pos 0,45 : objsize 64,24 : input x : swbreak
swend
*set
redraw 0
// 背景
color 255,255,255 : boxf
// タブんとこの下の表示するとこの背景
color
gmode 3,ginfo(12),ginfo(13),127
grect ginfo(12)/2,ginfo(13)/2+12,0,ginfo(12),ginfo(13)-24
// タブ本体 (選択したもの) // ここをもうちょっとなんとかならないものか…
ObjectPositionX=0
repeat TabList
ObjectPositionX+6*strlen(ButtonMessage(cnt))+8
loop
ObjectSizeX=6*strlen(ButtonMessage(TabList))+8
color : grect ObjectPositionX+ObjectSizeX/2,12,0,ObjectSizeX,24 : font msgothic,12 : pos ObjectPositionX+4,7 : mes ""+ButtonMessage(TabList)
// タブんとこの下の表示するとこ (オブジェクトじゃないヤツ)
switch TabList
case 0 : font msgothic,20 : color : pos 0,25 : mes "タブ1" : swbreak
case 1 : font msgothic,20 : color : pos 0,25 : mes "タブ2です" : swbreak
case 2 : font msgothic,20 : color : pos 0,25 : mes "タブ3だよ~ん" : swbreak
case 3 : font msgothic,20 : color : pos 0,25 : mes "タブの長さに合わせています" : swbreak
case 4 : font msgothic,20 : color : pos 0,25 : mes "5番目のタブ" : swbreak
swend
redraw
await 50
goto *set
*TabControl
ObjectID=stat
clrobj
TabList=ButtonID(ObjectID)
goto *TabWrite
※このソースはまだ未熟です。
途中でタブ消えるしw