ダイアログを初期化するときに、フォームのラジオ ボタンの 1 つを選択したいと思います。CButtons、CComboBoxes などで通常行うように、Class Wizard を使用して Control 変数を関連付ける方法がわかりません。
さらに、CRadioButton クラスが存在することさえ好きではありません。
複数のラジオ ボタンから 1 つを選択するにはどうすればよいですか?
CWnd::CheckRadioButtonを使用してグループ内の 1 つのボタンを選択するように設定し、CWnd::GetCheckedRadioButtonを使用して選択したボタンの ID を取得します。これらのメソッドは、ラジオ ボタン オブジェクトではなく、必ずダイアログ オブジェクトで呼び出してください。
ラジオボタンとチェックボタンは単なるボタンです。CButton
コントロールを使用して/GetCheck
を使用しますSetCheck
。
モスが言ったことを続けると、次のことがうまくいきました:
CButton* pButton = (CButton*)GetDlgItem(IDC_RADIOBUTTON);
pButton->SetCheck(true);
void CMyDlg::DoDataExchange(CDataExchange* pDX)
{
...
DDX_Radio(pDX, IDC_RADIO1, m_Radio);
...
}
ただし、ウィザードが生成するものと同じです