单选按钮是一个控件,显示为一个圆框包围的点,实际上,单选按钮会伴随一个或多个其他出现并作为一个组工作的单选按钮。

这是单选按钮控件的消息映射列表-

Message Map entry 描述
BN_CLICKED ON_BN_CLICKED( <id>, <memberFxn> ) 单击按钮时,框架调用此函数。
BN_DISABLE ON_BN_DISABLE( <id>, <memberFxn> ) 当禁用按钮时,框架将调用此函数。
BN_DOUBLECLICKED ON_BN_DOUBLECLICKED( <id>, <memberFxn> ) 双击按钮时,框架将调用此函数。
BN_PAINT ON_BN_PAINT( <id>, <memberFxn> ) 当应用程序请求重新绘制按钮时,框架调用此函数。

让无涯教程通过创建一个新的基于MFC对话框的应用程序来研究单选按钮的示例。

步骤1 -拖动一个组框和三个单选按钮,然后删除"Static Text Cotrol"。

Radio Button

步骤2 - 为所有三个单选按钮添加事件处理程序。

Radio Button

步骤3 - 为静态文本控件添加Value变量。

Radio Button

步骤4 - 这是三个事件处理程序的实现。

void CMFCRadioButtonDlg::OnBnClickedRadio1() {
   //TODO: Add your control notification handler code here
   m_strTextControl = _T("Radio Button 1 Clicked");
   UpdateData(FALSE);
}

void CMFCRadioButtonDlg::OnBnClickedRadio2() {
   //TODO: Add your control notification handler code here
   m_strTextControl = _T("Radio Button 2 Clicked");
   UpdateData(FALSE);
}

void CMFCRadioButtonDlg::OnBnClickedRadio3() {
   //TODO: Add your control notification handler code here
   m_strTextControl = _T("Radio Button 3 Clicked");
   UpdateData(FALSE);
}

步骤5 - 编译并执行上述代码后,您将看到以下输出。选择任何单选按钮时,该消息将显示在"Static Text"控件上。

Radio Button

参考链接

https://www.learnfk.com/mfc/mfc-radio-buttons.html