单选框按钮
1.新建一个单选框按钮
直接拖拽即可,设置名字可修改caption内容
2.设置默认单选框按钮
方法(1)在dlg初始化函数中进行初始化设置默认的单选框
//获取单选框男的指针
CButton* Cwnd_radio_man = (CButton*)GetDlgItem(IDC_RADIO_MAN);
//设置单选框默认选择是男
if (Cwnd_radio_man)
{
Cwnd_radio_man->SetCheck(TRUE);//TRUE为选中,FALSE为未选中
}
运行之后就会默认选中了男这个单选按钮
方法(2)使用CheckRadioButton函数来选择默认选中的单选框
//默认单选框选中函数用法
//第一个参数(组的第一个单选按钮的ID)
//第二个参数(组的最后一个单选按钮的ID)
//第二个参数(选中的单选按钮的ID)
CheckRadioButton(IDC_RADIO_MAN, IDC_RADIO_WOMAN, IDC_RADIO_WOMAN);
CheckRadioButton(IDC_RADIO_STUDENT, IDC_RADIO_TEACHER, IDC_RADIO_TEACHER);
3.获取单选框的状态
要知道单选框组中选择了哪个单选框
//获取选中的单选框按钮的ID
//第一个参数(组的第一个单选按钮的ID)
//第二个参数(组的最后一个单选按钮的ID)
int id = GetCheckedRadioButton(IDC_RADIO_MAN, IDC_RADIO_WOMAN);
4.如果出现多组单选框按钮
在窗口中一般不会只出现一组单选选项,比如下图所示除了性别还有职业等等选项
如果设置了默认男以及教师,虽然初始化都会选择这两者,如下所示
但是在选择了女或者学生之后,就只能在四者选择其一,意思就是这四者在一个组中,4选1
如何进行分组呢?
a、要求一组内的单选框按钮控件ID必须由小到大排列,中间不能夹杂其他组的单选框按钮;
打开resource.h文件可以查看ID的大小如下图所示:
性别组是1006+1007
职业组是1008+1009
两组之间不夹杂,故满足
b、若有多组,则组内第一个单选框按钮的Group属性为True,其他为False;
在按钮的属性中设置男的单选按钮的Group为True,女的单选按钮的Group为False;
在按钮的属性中设置学生的单选按钮的Group为True,教师的单选按钮的Group为False;
效果如下所示: