3

当我初始化一个对话框时,我想选择表单上的一个单选按钮。我没有看到使用类向导关联控件变量的方法,就像您通常使用 CButtons、CComboBoxes 等所做的那样......

此外,它甚至不存在 CRadioButton 类。

如何选择几个单选按钮之一?

4

5 回答 5

19

使用CWnd::CheckRadioButton设置选择组中的一个按钮,使用CWnd::GetCheckedRadioButton检索选定按钮的 ID。确保在您的对话框对象上调用这些方法,而不是任何单选按钮对象。

于 2008-09-16T15:29:18.337 回答
8

单选按钮和复选按钮只是按钮。使用CButton控件并使用GetCheck/ SetCheck

于 2008-09-16T15:24:29.720 回答
7

按照 mos 所说的,以下工作成功了:

CButton* pButton = (CButton*)GetDlgItem(IDC_RADIOBUTTON);
pButton->SetCheck(true);
于 2008-09-16T15:26:58.077 回答
1
void CMyDlg::DoDataExchange(CDataExchange* pDX)
{
  ...
  DDX_Radio(pDX, IDC_RADIO1, m_Radio);
  ...
}

但这与向导生成的相同

于 2012-02-16T08:21:49.747 回答
1

您可以使用此单线:

::SendMessage(GetDlgItem(IDC_RADIO1)->m_hWnd, BM_SETCHECK, BST_CHECKED, NULL);
于 2017-09-07T01:28:22.867 回答