单选按钮:用于在一组互相排斥的选项中选择其中一项;
由一个圆圈和紧随其后的文本标题组成,当它被选中时,圆圈中就标上一个黑点。
通常将一组单选按钮放在一个组框控件中,在一组单选按钮中,第一个(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("提示消息"));
}
}