ttp://lhsp.s206.xrea.com/command/onexit.html
を参考にしながら、onexit命令処理を行っておりますが、動きが挙動不審で原因が分からず、
こちらで質問させていただきます。
まず、以下のような簡易ソースを作成致しました。
btmimgはそのまま使用させていただいております。
#include "llmod3.hsp"
#include "misc.hsp" *top onexit gosub *exit cls buffer 6 : picload "image.bmp" // ボタン画像 screen 0, 800, 600 mes "label = *top" mes "ウィンドウID = " + ginfo_act // *titlelist へ遷移 objsize 250, 50 pos 0, 50 button "", *titlelist btnimg cnt, 6, 0, 150, 250, 50 stop *titlelist onexit gosub *exit cls screen 0, 800, 600 mes "label = *titlelist" mes "ウィンドウID = " + ginfo_act // *title_click へ遷移 objsize 160, 50 button "", *title_click btnimg cnt, 6, 0, 350, 160, 50 // *top へ遷移 pos 500, 510 objsize 250, 50 button "", *top btnimg cnt, 6, 0, 300, 250, 50 stop *title_click onexit gosub *exit screen 3, 800, 600 mes "label = *titlelist" mes "windowID = " + ginfo_act // 閉じるボタン(ウィンドウID3(*title_click画面)を非表示にする) objsize 110, 50 button "", *exit btnimg cnt, 6, 0, 400, 110, 50 stop // 別ソースではウィンドウID4の処理もあるので、else:ifとしています *exit if ginfo_act = 0 { end } else : if ginfo_act = 3 { gsel wparam, -1 }
やりたいことですが、*title_click 画面(ウィンドウID3)内の「閉じる」ボタン押下時、
*title_click 画面を非表示にしたいと思います。
現状ですが、
[動作する状況]
1 *top 画面より、*title_click 画面に遷移する。 2 *title_click 画面のタイトルバーの右側にある×ボタンを押下。 → *title_click 画面(ウィンドウID3)が非表示になり、*titlelist 画面(ウィンドウID0)のみ表示されている。 3 *title_click 画面内の「閉じる」ボタンを押下する。 → *title_click 画面(ウィンドウID3)が非表示になり、*titlelist 画面(ウィンドウID0)のみ表示されている。 以後何度でも成功します。 [動作しない状況] 1 *top 画面より、*title_click 画面に遷移する。 2 *title_click 画面内の「閉じる」ボタンを押下する。 → *titlelist 画面(ウィンドウID0)が終了されてしまい、*title_click 画面(ウィンドウID3)が表示されたままになっている。
どうかご指摘の程、よろしくお願い致します。