ラジオボタンのON/OFF

[戻る]
たけし 2005/06/17(金) 09:03:09
ラジオボタンをクリックするとトグルでON/OFFさせたいのですが
うまくいきません。
以下のようにプログラムしましたがOFFにしかなりません。
このプログラムを動かさない場合はONにしかなりません。
どうやればON/OFFできるでしょうか?

void CPredicDlg::OnClickedRadio()
{
  int   sts;

  sts = m_rdoFilter.GetCheck();
  if( sts == BST_CHECKED )
    m_rdoFilter.SetCheck(BST_UNCHECKED);
  else
    m_rdoFilter.SetCheck(BST_CHECKED);
}

dairygoods 2005/06/17(金) 09:08:46
ラジオボタンのスタイルが「自動」になっていませんか?

そうすると、クリックするたびに、
自動的にONになる→ONなのでOFFにする
を繰り返します。

たけし 2005/06/17(金) 09:15:39
[[解決]]
早速のレスありがとうございます。
自動がTrueになっていましたのでFalseにしました。
お蔭様で希望の動作が出来ました。

PATIO 2005/06/17(金) 10:07:11
理由があってラジオボタンを使われているのであれば、お節介かもしれないのですが、
ラジオボタンよりもチェックボックスを使った方がスマートな気がします。
一般的にトグルさせるような選択項目にはチェックボックスを使う事が多いです。
ユーザーもそういう認識が一般的だと思いますし。

ラジオボタンをトグルさせるのは駄目という事はないと思いますけれど、
わかりやすいのが一番だと思いますし。

古いスレッドには追加発言できません。