单选按钮:用于在一组互相排斥的选项中选择其中一项;
由一个圆圈和紧随其后的文本标题组成,当它被选中时,圆圈中就标上一个黑点。
通常将一组单选按钮放在一个组框控件中,在一组单选按钮中,第一个(Tab键顺序)按钮最重要,其ID值可用于在对话框中为控件建立关联的成员变量。必须为同组中的第一个单选按钮设置Group属性,而同组的其他单选按钮不可再设置Group属性。
1.新建主对话框,并设置单选框控件和按钮控件,修改ID:IDC_RADIO_FIRST,IDC_RADIO_SECOND其中一个Group属性为True
2.创建两个子对话框并为其绑定类对象
3.在主对话框中,初始化函数中添加单选框默选状态,编辑控件响应函数
BOOL C测试单选框Dlg::OnInitDialog()
{CDialogEx::OnInitDialog();// 将“关于...”菜单项添加到系统菜单中。// IDM_ABOUTBOX 必须在系统命令范围内。ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);ASSERT(IDM_ABOUTBOX < 0xF000);CMenu* pSysMenu = GetSystemMenu(FALSE);if (pSysMenu != NULL){BOOL bNameValid;CString strAboutMenu;bNameValid = strAboutMenu.LoadString(IDS_ABOUTBOX);ASSERT(bNameValid);if (!strAboutMenu.IsEmpty()){pSysMenu->AppendMenu(MF_SEPARATOR);pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);}}// 设置此对话框的图标。 当应用程序主窗口不是对话框时,框架将自动// 执行此操作SetIcon(m_hIcon, TRUE); // 设置大图标SetIcon(m_hIcon, FALSE); // 设置小图标// TODO: 在此添加额外的初始化代码CheckRadioButton(IDC_RADIO_FIRST, IDC_RADIO_SECOND, IDC_RADIO_SECOND);//从Tab键顺序范围内 选择一个为点亮状态return TRUE; // 除非将焦点设置到控件,否则返回 TRUE
}
void C测试单选框Dlg::OnBnClickedButtonOpen()
{// TODO: 在此添加控件通知处理程序代码 m_first.GetCheck()if (IsDlgButtonChecked(IDC_RADIO_FIRST)){m_dw1.DoModal();}else if (IsDlgButtonChecked(IDC_RADIO_SECOND)){m_dw2.DoModal();}else{MessageBox(_T("未选择单选框"), _T("提示消息"));}
}