HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2008
0324
チェックボックスで・・・4解決


リンク

2008/3/24(Mon) 11:44:39|NO.14542

すいません、ちょっとお聞きしたいのですが、
二つのチェックボックスがあって、片方にチェックをいれたら、
もう片方にはチェックが入れられなくするようにはできますか?



この記事に返信する


KENTA

リンク

2008/3/24(Mon) 12:35:09|NO.14543

ループやsendmsgを利用すれば可能です。

ループを利用して処理する場合、下のスクリプトのような方法があります。

//ループを利用する場合 #uselib "user32" #func EnableWindow "EnableWindow" int,int //チェックが入っているかの変数 chk01j=0 chk02j=0 //チェックボックスを作成する chkbox "chkbox01",chk01j //オブジェクトハンドルを取得する obj01=objinfo(stat,2) chkbox "chkbox02",chk02j obj02=objinfo(stat,2) *main //チェックされた場合、もう一方のほうをチェックできなくする EnableWindow obj01,( chk02j ^ 1 ) EnableWindow obj02,( chk01j ^ 1 ) wait 1 goto *main
またループを利用しない場合、sendmsgを利用して
ボタンをチェックボックスにして処理する方法があります。

//sendmsgを利用した場合 #uselib "user32" #func EnableWindow "EnableWindow" int,int //チェックが入っているかの変数 chk01j=0 chk02j=0 //一つ目のチェックボックスを作成する button gosub "chkbox01",*chk01 //オブジェクトハンドルを取得する obj01=objinfo(stat,2) //ボタンをチェックボックスに変更する sendmsg obj01,0xF4,0x03 //二つ目のチェックボックスを作成する button gosub "chkbox02",*chk02 obj02=objinfo(stat,2) sendmsg obj02,0xF4,0x03 stop *chk01 //一つ目のチェックボックスが押されたときの処理 chk01j^=1 EnableWindow obj02 , ( chk01j ^ 1 ) return *chk02 //二つ目のチェックボックスが押されたときの処理 chk02j^=1 EnableWindow obj01 , ( chk02j ^ 1 ) return



リンク

2008/3/24(Mon) 16:59:28|NO.14547

KENTAさん、ご解決できました。ありがとうございます



リンク

2008/3/24(Mon) 16:59:38|NO.14548

KENTAさん、ご解決できました。ありがとうございます



GENKI

リンク

2008/3/24(Mon) 22:25:45|NO.14556

これはラジオボタンの機能ですね。
「ラジオボタン hsp」でググると
http://lhsp.s206.xrea.com/hsp_object1.html#11
がすぐに出てきます。
解決したようですが参考にどうぞ。



ONION software Copyright 1997-2023(c) All rights reserved.