More ... | 編集履歴:差分記録開始以来のスクリーンをモジュールで管理の変更箇所
+ {{{ + #module mainScreen id, text, events + + #define global new_mainScreen(%1, %2) %tnew_mainScreen \ + if 0 : *%i {\ + _thismod@mainScreen = %1 :\ + gosub *button_click@mainScreen :\ + return } :\ + %i@mainScreen = *%p1 :\ + newmod %1, mainScreen, %2, %o@mainScreen %o0 + + #define ctype register_event(%1) %tregister_event \ + events(%1) = *%i :\ + if 0 : *%o + + + #modinit int screenId, var dispatcher + + dimtype events, vartype("label"), 64 + + screen screenId, 640, 480 + + button gosub "mes", dispatcher + register_event(stat) { + mes get_text(_thismod@mainScreen) + + return + } + + button gosub "dialog", dispatcher + register_event(stat) { + dialog get_text(_thismod@mainScreen) + + return + } + + text = "Hello World!!" + return + + #modcfunc get_text + return text + + #modfunc dispatch int objid + gosub events(objid) + return + + *button_click + dispatch _thismod@mainScreen, stat + return + + #global + + new_mainScreen main, 0 + }}} |