screen0はのこしておいてscreen1を消す
koya 2013/8/8(Thu) 18:49:13|NO.56216
タイトル通りscreen1のxボタンを押してもscreen 2だけ消えてscreen 0は消さないようにすりにはどうすればよいでしょうか
screen 0
title "0"
onexit *owaranai
screen 1
title "1"
onexit *owari
*owaranai
stop
*owari
end
この方法を試してもダメでした。
koya 2013/8/8(Thu) 18:50:18|NO.56217
>>screen 2だけ消えて
ではなくscreen 1です
saracena 2013/8/8(Thu) 21:20:36|NO.56218
screen 1
title "1"
onexit gosub *owari
*owari
gsel 1,-1
return
消去はできないようです
inovia 2013/8/8(Thu) 21:56:56|NO.56220
onexitをHSPキーワード検索(F1)で検索するとわかりますが、
>システム変数wparamに終了の通知を受けたウィンドウIDが代入されます。
とありますので、割り込み先のラベルでwparamをみて終了するか、
ウィンドウを消去(実際は非表示)するか判断すればいいのです。
ちなみに、onexitを複数記述した場合は最後のものが使用されます。
screen 0 : title "0"
screen 1 : title "1"
onexit gosub *owari
stop
*owari
switch wparam
case 1
gsel 1, -1
swbreak
default
end
swbreak
swend
return
葡萄色 2013/8/8(Thu) 22:40:10|NO.56224
inoviaさんのソースとそんな変わりませんが、ID0のウィンドウだけでソフトを終了できるようにするには、こんな方法で行けます。
screen 0 : title "0"
screen 1 : title "1"
screen 2 : title "2"
onexit gosub *exit
stop
*exit
if wparam : gsel wparam, -1 : return
end
koya 2013/8/9(Fri) 07:05:51|NO.56229
wparamを使うんですかありがとうございます