【MFC开发(5)】单选按钮控件RADIOBUTTON

【MFC开发(5)】单选按钮控件RADIOBUTTON,第1张

单选框按钮

1.新建一个单选框按钮

直接拖拽即可,设置名字可修改class="superseo">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;

 效果如下所示:

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/801883.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-07
下一篇 2022-05-07

发表评论

登录后才能评论

评论列表(0条)

保存