色々実験してサンプルを作ってみました。
//------------------------------------------------------------------------------
// OnClickのテスト by 科学太郎
//------------------------------------------------------------------------------
//--------------------------------------
// 記号定数(API定数)
//--------------------------------------
#const global WM_LBUTTONDOWN $00000201
#const global WM_LBUTTONUP $00000202
#const global WM_LBUTTONDBLCLK $00000203
//--------------------------------------
// メイン部
//--------------------------------------
*Main
;ウインドウ(0)
screen 0,320,240,SCREEN_NORMAL,0,240*0:color $FF,$99,$00:boxf:color:title "ウインドウ(0)"
oncmd gosub *OnClickSub0, WM_LBUTTONDOWN
;ウインドウ(1)
screen 1,320,240,SCREEN_NORMAL,0,240*1:color $99,$FF,$00:boxf:color:title "ウインドウ(1)"
oncmd gosub *OnClickSub1, WM_LBUTTONDOWN
;ウインドウ(2)
screen 2,320,240,SCREEN_NORMAL,0,240*2:color $FF,$00,$99:boxf:color:title "ウインドウ(2)"
oncmd gosub *OnClickSub2, WM_LBUTTONDOWN
;ウインドウ(3)
screen 3,320,240,SCREEN_NORMAL,0,240*3:color $99,$00,$FF:boxf:color:title "ウインドウ(3)"
oncmd gosub *OnClickSub3, WM_LBUTTONDOWN
stop
//--------------------------------------
// マウス・クリックの処理(0)
//--------------------------------------
*OnClickSub0
gsel ginfo_intid
mes strf("OnClickSub0=%d",ginfo_intid)
return
//--------------------------------------
// マウス・クリックの処理(1)
//--------------------------------------
*OnClickSub1
gsel ginfo_intid
mes strf("OnClickSub1=%d",ginfo_intid)
return
//--------------------------------------
// マウス・クリックの処理(2)
//--------------------------------------
*OnClickSub2
gsel ginfo_intid
mes strf("OnClickSub2=%d",ginfo_intid)
return
//--------------------------------------
// マウス・クリックの処理(3)
//--------------------------------------
*OnClickSub3
gsel ginfo_intid
mes strf("OnClickSub3=%d",ginfo_intid)
return
//------------------------------------------------------------------------------
// End of sample134d1(OnClickのテスト).hsp
//------------------------------------------------------------------------------
↑
oncmd ならば、ウインドウ毎にジャンプ先のラベルを指定可能なようだ。
//------------------------------------------------------------------------------
// OnClickのテスト by 科学太郎
//------------------------------------------------------------------------------
//--------------------------------------
// 記号定数(API定数)
//--------------------------------------
#const global WM_LBUTTONDOWN $00000201
#const global WM_LBUTTONUP $00000202
#const global WM_LBUTTONDBLCLK $00000203
//--------------------------------------
// メイン部
//--------------------------------------
*Main
;ウインドウ(0)
screen 0,320,240,SCREEN_NORMAL,0,240*0:color $FF,$99,$00:boxf:color:title "ウインドウ(0)"
onclick gosub *OnClickSub0
;ウインドウ(1)
screen 1,320,240,SCREEN_NORMAL,0,240*1:color $99,$FF,$00:boxf:color:title "ウインドウ(1)"
onclick gosub *OnClickSub1
;ウインドウ(2)
screen 2,320,240,SCREEN_NORMAL,0,240*2:color $FF,$00,$99:boxf:color:title "ウインドウ(2)"
onclick gosub *OnClickSub2
;ウインドウ(3)
screen 3,320,240,SCREEN_NORMAL,0,240*3:color $99,$00,$FF:boxf:color:title "ウインドウ(3)"
onclick gosub *OnClickSub3
stop
//--------------------------------------
// マウス・クリックの処理(0)
//--------------------------------------
*OnClickSub0
gsel ginfo_act
mes strf("OnClickSub0=%d",ginfo_act)
return
//--------------------------------------
// マウス・クリックの処理(1)
//--------------------------------------
*OnClickSub1
gsel ginfo_act
mes strf("OnClickSub1=%d",ginfo_act)
return
//--------------------------------------
// マウス・クリックの処理(2)
//--------------------------------------
*OnClickSub2
gsel ginfo_act
mes strf("OnClickSub2=%d",ginfo_act)
return
//--------------------------------------
// マウス・クリックの処理(3)
//--------------------------------------
*OnClickSub3
gsel ginfo_act
mes strf("OnClickSub3=%d",ginfo_act)
return
//------------------------------------------------------------------------------
// End of sample134d2(OnClickのテスト).hsp
//------------------------------------------------------------------------------
↑
onclick では、最後に設定した OnClickSub3 ラベルにしかジャンプしないようだ。
●結果報告
ウインドウ毎にジャンプ先を指定するには oncmd で可能なようだ。
onclick、onkey などは screen 命令の前で1回だけ実行すれば良いらしい。
つまり、ウインドウ毎に onclick、onkey などを設定しなくても良い。
↓
//------------------------------------------------------------------------------
// OnClickのテスト by 科学太郎
//------------------------------------------------------------------------------
//--------------------------------------
// メイン部
//--------------------------------------
*Init
onclick gosub *OnClickSub
*Main
screen 0,640,480,SCREEN_NORMAL:color $FF,$99,$00:boxf:color:title "ウインドウ(0)"
screen 1,640,480,SCREEN_NORMAL:color $99,$FF,$00:boxf:color:title "ウインドウ(1)"
screen 2,640,480,SCREEN_NORMAL:color $FF,$00,$99:boxf:color:title "ウインドウ(2)"
screen 3,640,480,SCREEN_NORMAL:color $99,$00,$FF:boxf:color:title "ウインドウ(3)"
stop
//--------------------------------------
// マウス・クリックの処理
//--------------------------------------
*OnClickSub
if(ginfo_act<0):return
gsel ginfo_act
if(ginfo_act==0):mes "OnClickSub":return
if(ginfo_act==1):mes "OnClickSub":return
if(ginfo_act==2):mes "OnClickSub":return
if(ginfo_act==3):mes "OnClickSub":return
return
//------------------------------------------------------------------------------
// End of sample134c(OnClickのテスト).hsp
//------------------------------------------------------------------------------
> それではウインドウ毎に oncmd で WM_LBUTTONDOWN メッセージを設定した場合は
> ウインドウ毎にジャンプ先のラベルを複数個用意可能なのか?
複数個の用意が可能なようだ。
自己解決しましたのでチェックしますが、
何か補足説明がありましたらアドバイスなどを募集します。