で、ポップアップメニューの表示についてはhttp://lhsp.s206.xrea.com/hsp_menu.htmlさんを
参考にさせてもらったのですが、、、
疑問が浮かんだので質問します
メニューの表示、およびクリック判定のスクリプトを簡略化すると
#include "user32.as" onclick gosub *onjump onexit *exit //メインのメニュー CreatePopupMenu hMenu_0 = stat AppendMenu hMenu_0, 0,1, "メニュー項目 1" AppendMenu hMenu_0, $800, 0, "" AppendMenu hMenu_0, 0,2, "メニュー項目 2" stop *onjump if wparam = 2 { TrackPopupMenu hMenu_0, $100, ginfo(0), ginfo(1), 0, hwnd, 0 if stat = 0 : return dialog "メニュー項目 "+stat+" を選択!" return } return *exit //メニューの破棄 DestroyMenu hMenu_1
となります。これで普通に何番のメニューを押したかが取得はできているのですが、
疑問は、
*onjumpルーチンの中のdialog命令はif命令の中にあるので
wparam=2 ,つまりメニューを右クリックした時しか反応しないはずでは?
なのになぜ、メニューを左クリックしてもダイアログが出てくるのか?
ということです。
説明分かりにくくてすいません。分かる方ご説明お願いします
(追記)
理屈が理解できてないのにスクリプトが組めたのは
Let's HSPさんのサンプルを使っているからです