• ベストアンサー

VC++2010のラジオボタンの選択されている読取

VC++2010のラジオボタンの現在選択されている読み取りのことで質問なんですが、 自分は今VC++2010 MFC でソフトウェアを作っています。 そこで質問なんですが、 ラジオボタンが7つあり、その中からどれが選択されているか知る関数(例:エディットボックスの文字列を読み取る関数GetWindowText()関数など)が分からなかったので質問させていただきました。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • Wr5
  • ベストアンサー率53% (2173/4061)
回答No.7

状態が変わったら…とは微妙に違いますがBN_CLICKEDでしょうかね。>#2 ラジオボタンだとフォーカスが移動したら…というのも見られますが。 同一グループ内のラジオボタンだとカーソルキーで切り替えできたと思いますので、フォーカスが移動したら…に見えるのかも知れませんね。 振り返ってみるとラジオボタンってほとんど使ったことないなぁ…。

その他の回答 (6)

回答No.6

せめてこんな感じにしましょうよ。 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; }

  • uyama33
  • ベストアンサー率30% (137/450)
回答No.5

こんなコードでしょうか? 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"; }

回答No.4

ラジオボタンの親ウィンドウがCWndクラスを継承している(例えばCDialogの派生クラスなど)であれば、CWnd::GetCheckedRadioButtonが使えます。 CWnd::GetCheckedRadioButton http://msdn.microsoft.com/ja-jp/library/h0tw863c(v=vs.100).aspx

  • kumatti1
  • ベストアンサー率60% (73/121)
回答No.3

> 3つ4つのラジオボタンがあると Radio button毎にWindow handle があるのにですか?

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.2

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

  • kumatti1
  • ベストアンサー率60% (73/121)
回答No.1

BM_GETCHECK message (Windows) http://msdn.microsoft.com/en-us/library/windows/desktop/bb775986(v=vs.85).aspx とか。

hanyu-yuugo
質問者

補足

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

関連するQ&A