Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Winapi 以编程方式选择MFC单选按钮_Winapi_Mfc - Fatal编程技术网

Winapi 以编程方式选择MFC单选按钮

Winapi 以编程方式选择MFC单选按钮,winapi,mfc,Winapi,Mfc,初始化对话框时,我想选择窗体上的一个单选按钮。我看不到使用类向导关联控制变量的方法,就像您通常使用CButtons、ccomboxes等做的那样 此外,它甚至不像CRadioButton类那样存在 如何从几个单选按钮中选择一个?单选按钮和复选按钮只是按钮。使用CButton控件并使用GetCheck/SetCheck按照mos所说的,以下方法奏效了: CButton* pButton = (CButton*)GetDlgItem(IDC_RADIOBUTTON); pButton->Set

初始化对话框时,我想选择窗体上的一个单选按钮。我看不到使用类向导关联控制变量的方法,就像您通常使用CButtons、ccomboxes等做的那样

此外,它甚至不像CRadioButton类那样存在


如何从几个单选按钮中选择一个?

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

按照mos所说的,以下方法奏效了:

CButton* pButton = (CButton*)GetDlgItem(IDC_RADIOBUTTON);
pButton->SetCheck(true);
用于设置“选择组中的一个按钮”并检索所选按钮的ID。确保在对话框对象上调用这些方法,而不是任何单选按钮对象

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->
我之所以来到这里,是因为在
DDX\u单选上获得了一个
ASSERT
,这是从
UpdateData
调用中调用的
pRadioButton->SetCheck()。