トップ 差分 一覧 ソース 検索 ヘルプ PDF RSS ログイン

RadioButton

HSP で ラジオボタン

radiobutton.hsp(4)

; ラジオボタンの基本
; 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