つまらぬものですがどうぞ。
#define WM_COMMAND 0x0111
#define LBN_SELCHANGE 1
#define LB_GETCURSEL 0x0188
oncmd gosub *onCommand, WM_COMMAND
listbox itemID, 100, "item0\nitem1\nitem2\n"
stop
*onCommand
event = (wparam >> 16) & 0xffff
if (event == LBN_SELCHANGE) {
gosub *procedure
}
return
*procedure
handle = lparam
sendmsg handle, LB_GETCURSEL
dialog "" + stat + " : " + itemID, 0, "リストボックスの選択セルの変更の通知"
return
なお、選択セルの変更を通知してもらう構造にした場合、listbox 命令で指定した選択セル番号を格納する変数(上記のスクリプトではitemIDに相当)には、変更の通知が来た時点でまだその結果が反映されていません。
そのため、sendmsg 命令を使って自分で選択されたセルを聞きにいく必要があります。