プロが教えるわが家の防犯対策術!

VC++2010のラジオボタンの現在選択されている読み取りのことで質問なんですが、
自分は今VC++2010 MFC でソフトウェアを作っています。
そこで質問なんですが、

ラジオボタンが7つあり、その中からどれが選択されているか知る関数(例:エディットボックスの文字列を読み取る関数GetWindowText()関数など)が分からなかったので質問させていただきました。

よろしくお願いします。

A 回答 (7件)

状態が変わったら…とは微妙に違いますがBN_CLICKEDでしょうかね。

>#2

ラジオボタンだとフォーカスが移動したら…というのも見られますが。
同一グループ内のラジオボタンだとカーソルキーで切り替えできたと思いますので、フォーカスが移動したら…に見えるのかも知れませんね。

振り返ってみるとラジオボタンってほとんど使ったことないなぁ…。
    • good
    • 0

せめてこんな感じにしましょうよ。



int nChecked;

nChecked = GetCheckedRadioButton(IDC_RADIO1, IDC_RADIO5);
switch(nChecked) {
case IDC_RADIO1 :
...
break;
case IDC_RADIO2 :
...
break;
case IDC_RADIO3 :
...
break;
case IDC_RADIO4 :
...
break;
case IDC_RADIO5 :
...
break;
}
    • good
    • 0

こんなコードでしょうか?




if(IDC_RADIO1 == GetCheckedRadioButton(IDC_RADIO1, IDC_RADIO5) ){
k = 512; keylength = "512";
}
if(IDC_RADIO2 == GetCheckedRadioButton(IDC_RADIO1, IDC_RADIO5) ){
k = 1024; keylength = "1024";
}
if(IDC_RADIO3 == GetCheckedRadioButton(IDC_RADIO1, IDC_RADIO5) ){
k = 1536; keylength = "1536";
}
if(IDC_RADIO4 == GetCheckedRadioButton(IDC_RADIO1, IDC_RADIO5) ){
k = 2048; keylength = "2048";
}
if(IDC_RADIO5 == GetCheckedRadioButton(IDC_RADIO1, IDC_RADIO5) ){
k = 2560; keylength = "2560";
}
    • good
    • 0

ラジオボタンの親ウィンドウがCWndクラスを継承している(例えばCDialogの派生クラスなど)であれば、CWnd::GetCheckedRadioButtonが使えます。



CWnd::GetCheckedRadioButton
http://msdn.microsoft.com/ja-jp/library/h0tw863c …
    • good
    • 0

> 3つ4つのラジオボタンがあると



Radio button毎にWindow handle があるのにですか?
    • good
    • 0

記憶の彼方なんだけど, ラジオボタンで状態が変わったらイベントが飛びませんでしたっけ?

    • good
    • 0

BM_GETCHECK message (Windows)


http://msdn.microsoft.com/en-us/library/windows/ …
とか。

この回答への補足

御回答ありがとうございます。
試してみるとラジオボタンが2つの場合は0と1で返されわかるんですが


3つ4つのラジオボタンがあると わからないみたいです(基本0と1しか返されないので)

補足日時:2013/03/01 10:19
    • good
    • 0

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

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


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