ボタンを押すと自動的にラジオボタンのON/OFFをしたい

[戻る]
takaju 2010/04/14(水) 13:30:39
--- グループ@ ---
 ○ラジオボタンA
 ○ラジオボタンB
 ○ラジオボタンC

--- グループA ---
 ○ラジオボタンL
 ○ラジオボタンM
 ○ラジオボタンN

[ボタンX] [ボタンY]

とあったとき、[ボタンX]を押すと、自動的に

--- グループ@ ---
 ●ラジオボタンA
 ○ラジオボタンB
 ○ラジオボタンC

--- グループA ---
 ●ラジオボタンL
 ○ラジオボタンM
 ○ラジオボタンN

となるような[ボタンX]を作成したいのですが、上手く出来ません。

OnBnClickedX()関数に
 CheckRadioButton(A,C,A);
と書いても、Aが●にはなりませんでした。
#初期化という意味であれば、出来ましたが…

この「CheckRadioButton」関数は、初期化でしかON/OFFできないのでしょうか?
また、私が実現させたいことをするには、どのようにすれば良いのでしょうか?

仲澤@失業者 2010/04/14(水) 13:46:09
初期化時に動作しているというのが真実であれば、
そのコードで意図したとおりに動作するはずです。

1.OnBnClickedX()が呼ばれていない
  ->ブレークポイントを仕掛けて確かめてください。
2.CheckRadioButton()に渡しているIDに間違いがある
3.初期化時に動作していると思ったが、実は最初から動作していない
  ->様々な誤りが想定できます。

等を疑ってみましょう。

takaju 2010/04/14(水) 14:06:33
早速の回答、ありがとうございます。

試してみた結果、@のようです。

OnBnClickedX()
{
  dprintf(">>>OnBnClickedX()\n");
  CheckRadioButton(A,C,A);
}

としてみましたが、ログは出力されませんでした。
#ブレークポイントをはってみましたが、
 ブレークしなかったため、ログを入れてみました

何故、OnBnClickedX()が呼ばれていないのかは、謎です…

takaju 2010/04/14(水) 14:16:54
[[解決]]
解決しました。

OnBnClickedX()が呼ばれていなかった理由がわかりました。

1つのボタン[ボタンX]に対して、OnBnClickedX()とOnBnClickedXXX()(初期名)の2つ
の関数があり、初期の方の関数をCallしていたようです。
#もの凄く初歩的なミスで恥ずかしい限りです

返信をくださった中澤様、ありがとうございました。

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