1つのダイアログボックスの中で、
BS_AUTORADIOBUTTONを排他的な用い方をしないで、複数個作っても、
1つだけでなく、やはり複数個チェック出来るようにしたいです。
どうすればいいでしょうか?
BS_AUTOCHECKBOXでなくて、
あくまでBS_AUTORADIOBUTTONでやりたいのです。
VC++6で使用です。
ラジオボタンのひとつひとつをそれぞれひとつのグループとして
設定してやるというのはどうですか?
排他処理はグループ内でしか行われないわけですし
そうすればあとはチェックボックスと同じ使い方ができるかと
そうはいわれても、とりあえず
複数選択可能なことをあらわすチェックボタンを使わないとは
UIとして違反だな。
BS_AUTORADIOBUTTONでやりたいという条件があるがあえて回答する。
グループというのもありだがそれだけではNGな気がする。
オートラジオボタンじゃなくてラジオボタンにして
クリックされたらON/OFFをプログラムから切り替えるようにする。
俺はいつもオートだから、それでうまくいくか知らんけど。
Windowsの標準的なGUIとしてはよろしくないでしょうね。
通常、ユーザーはラジオボタンが並んでいれば、どれか一つを選択しろってことだろうと
考えるでしょうし。
ラジオボタンをラジオボタンらしくない使い方で使おうと言うのですから
AUTOは諦めて自分で制御した方がよいと思いますよ。
クリックだって取れますから処理は出来るでしょう。
AUTOじゃ再クリックで解除できないのを見落としてました・・・orz
ツッコミありがとうございます。
そうなると
> オートラジオボタンじゃなくてラジオボタンにして
> クリックされたらON/OFFをプログラムから切り替えるようにする。
が一番簡単ですかね。
自前で処理してもたいした手間ではないと思いますし。
ただわたしも
> 複数選択可能なことをあらわすチェックボタンを使わないとはUIとして違反だな。
> Windowsの標準的なGUIとしてはよろしくないでしょうね。
これらには同意です。
どうしてもチェックボックスが使えない理由があるんでしょうか?
以下のようにする。
項目名1------
|●ON ○OFF |
-------------
項目名2------
|●ON ○OFF |
-------------
項目名3------
|●ON ○OFF |
-------------
条件を満たしていて、Windowsの標準的なGUIとしても可になるかな?
おかげさまで解決しました。
ありがとうございました。