*disclaimer
758406
HSP で ラジオボタン radio button
radiobutton.hsp(230)
; ラジオボタンの基本 ; copyleft 2017-07-22 sugiura@nagoya-u.jp *main ;A pos 100, 100 chkbox "A", a ; "選択肢の文字", 選ばれているかの状態を記録する変数 OFFが0 ONが1 Aid = stat ; 配置したボタンのオブジェクトIDを記録しておく sendmsg objinfo(stat, 2), $F4, $9 ; sendmsg オブジェクトのパラメタを変更する命令 ; objinfoでオブジェクトのパラメタを扱う ; objinfo(オブジェクトID, オブジェクト情報のタイプ) ; オブジェクト情報のタイプとして 2 を指定することで、 ; ウィンドウオブジェクトの「ハンドル」情報を使うことを指定 ; stat に現在の「処理結果」の値が入る ; $F4 はwParam で スタイル設定をすることを指定します、 ; $9 は、ボタンのスタイルの中で「ラジオボタン」を選ぶこと意味します。 ; なので、$F4, $9 と指定することで、ボタンのスタイルを ; ラジオボタンにする、ということです。 ;B ;pos 100, 140 chkbox "B", b Bid = stat sendmsg objinfo(stat, 2), $F4, $9 ;C ;pos 100, 180 chkbox "C", c Cid = stat sendmsg objinfo(stat, 2), $F4, $9 ;D ;pos 100, 220 chkbox "D", d Did = stat sendmsg objinfo(stat, 2), $F4, $9 pos 100, 300 button gosub "check", *how ; check ボタンを押したらサブルーチンでチェックする mes "" button "Quit", *owari stop *owari cls pos 300, 300 font msgothic, 30 mes "Quit now! wait 90 end ;----------------------------------------sub-------------------------------------------------- *how sendmsg objinfo(Aid, 2), $F0 ; objinfoで、どのオブジェクトにメッセージを送るかを指定 ; $F0 は、オブジェクトの状態を報告するように、というメッセージ ; オブジェクトが選ばれていたら 1 ; オブジェクトが選ばれていなかったら 0 if stat == 1 { ; 結果が stat に帰ってくるので、それが、 1 かどうか判断 dialog "A" ; 選ばれていたら、"A" というダイアログを表示する } sendmsg objinfo(Bid, 2), $F0 if stat == 1 { dialog "B" } sendmsg objinfo(Cid, 2), $F0 if stat == 1 { dialog "C" } sendmsg objinfo(Did, 2), $F0 if stat == 1 { dialog "D" } return
https://sugiura-ken.org/wiki/