「教えて!ピックアップ」リリース!

いつもお世話になっております。初めて投稿させていただきます。

VC++6.0を使い、プログラムを組んでいます。超初心者です。
レジストリから値を読み込み、ラジオボタンのチェックをどちらにつけるかを決め、OKボタンを押すとレジストリに書き込むという処理をしたいのですが、ラジオボタンがどちらについているかの処理方法がわかりません。(レジストリの読み書きに関しては何とかわかりました)

例えばラジオボタンが二つだけの時に
int radio = CWnd::GetCheckedRadioButton(IDC_RADIO1, IDC_RADIO2);
と書き、radioに値を入れて判別したいと思ったのですが、取得できる値が1020とかよくわからない値を取得します。
この場合、IDC_RADIO1やIDC_RADIO2にはあらかじめ0や1といった値を入れる事は出来ますか?
それとも、使っている関数が間違っていますでしょうか、それとも根本的に何か間違っていますでしょうか…

質問が下手ですみませんが、よろしくお願いします。

A 回答 (1件)

 こんにちは。


 1020と言う数字は、IDC_RADIO1かIDC_RADIO2のどちらかの数字です。素性は#defineされた定数値です。
 「表示」→「シンボルブラウザ」で確認出来ます。数字も変えれますが、0や1は流石にマズかった様な・・・。

 肝心な使い方は、以下の様にして判断するのではないでしょうか。

const int radio = CWnd::GetCheckedRadioButton(IDC_RADIO1, IDC_RADIO2);
switch(radio)
{
case IDC_RADIO1:
//ラジオ1が押された
break;
case IDC_RADIO2:
//ラジオ2が押された
break;
}
    • good
    • 1
この回答へのお礼

素早い回答ありがとうございます!
わかりやすい回答で、無事にやりたい処理が出来ました。
シンボルブラウザでの値の確認も丁寧に教えていただき非常に助かりました。
本当にありがとうございました。

お礼日時:2009/02/13 13:21

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング