chkbox の変数内容をループの中で監視しても良いのですが、button の見た目をチェックボックスにしてしまう裏技を使うと簡単に監視ができます。
// チェックボックス監視サンプル
; 普通にボタンを作成
button gosub "最前面", *check
hButton = objinfo(stat, 2)
; ボタンのウィンドウスタイルを変更してチェックボックス化
sendmsg hButton, $F4, $3
; チェックボックスにチェックを入れる (BM_SETCHECK)
; 第3パラに 1=チェックあり、0=チェックなし
; (標準のobjprm命令では制御できないため)
sendmsg hButton, $F1, 0 // ← 最初からチェックボックスにチェックを入れたい場合に使う
stop
*check
; チェックボックスの状態を取得 (BM_GETCHECK)
; statに 0=チェックなし、1=チェックありが返る
sendmsg hButton, $F0
value = stat
gsel 0, 1 + value // 最前面指定 [チェックあり: 2(=1+1), チェックなし: 1(=1+0)]
return
以下リンクでKpanさんが分かりやすくまとめて下さっているので参考にしてみてください。
上記のサンプルスクリプトはほぼここからの抜粋です。
Let's HSP! - HSP3 あれこれ <オブジェクト 1>
http://lhsp.s206.xrea.com/hsp_object1.html