题
当我初始化对话框时,我想选择表单上的单选按钮之一。我没有看到使用类向导关联 Control 变量的方法,就像您通常使用 CButtons、CComboBoxes 等那样......
此外,它甚至不喜欢 CRadioButton 类的存在。
如何选择多个单选按钮之一?
解决方案
单选按钮和复选按钮只是按钮。用一个 CButton
控制和使用 GetCheck
/SetCheck
.
其他提示
使用 CWnd::检查单选按钮 设置选择一组中的一个按钮,然后 CWnd::GetCheckedRadioButton 检索所选按钮的 ID。请务必在对话框对象上调用这些方法,而不是在任何单选按钮对象上调用这些方法。
按照 mos 的说法,以下方法成功了:
CButton* pButton = (CButton*)GetDlgItem(IDC_RADIOBUTTON);
pButton->SetCheck(true);
void CMyDlg::DoDataExchange(CDataExchange* pDX)
{
...
DDX_Radio(pDX, IDC_RADIO1, m_Radio);
...
}
但这和向导生成的东西是一样的
您可以使用这一行:
::SendMessage(GetDlgItem(IDC_RADIO1)->m_hWnd, BM_SETCHECK, BST_CHECKED, NULL);
不隶属于 StackOverflow