当我初始化对话框时,我想选择表单中的一个单选按钮。我没有看到使用类向导关联控件变量的方法,就像您通常会使用CButtons、CComboBoxes等一样。
此外,似乎并不存在CRadioButton类。
我该如何选择多个单选按钮中的一个?
此外,似乎并不存在CRadioButton类。
我该如何选择多个单选按钮中的一个?
使用 CWnd::CheckRadioButton 来选择一组单选按钮中的一个,并使用CWnd::GetCheckedRadioButton检索所选按钮的ID。请确保在对话框对象上调用这些方法,而不是单选按钮对象上调用。
根据mos所说,以下方法能解决问题:
CButton* pButton = (CButton*)GetDlgItem(IDC_RADIOBUTTON);
pButton->SetCheck(true);
单选按钮和复选框只是普通的按钮。使用CButton
控件并使用GetCheck
/SetCheck
方法。
void CMyDlg::DoDataExchange(CDataExchange* pDX)
{
...
DDX_Radio(pDX, IDC_RADIO1, m_Radio);
...
}
但这是向导生成的相同内容。
::SendMessage(GetDlgItem(IDC_RADIO1)->m_hWnd, BM_SETCHECK, BST_CHECKED, NULL);
Dialog->
而不是RadioButton->
。 - sergiolUpdateData
调用,从而导致对DDX_Radio
的ASSERT
,这是由于调用了pRadioButton->SetCheck()
。 - sergiol