MFC中如何获取性别中被选中的那个单选按钮控件Radio的值
程序员文章站
2022-04-05 12:50:04
...
如何获取性别中被选中的那个单选按钮控件Radio的值
单选按钮是成组使用的
第一步:分组
把男女单选按钮放入一个组中,因为一个组中的按钮只能有一个被选中。
MFC中分组的方法:以Group属性True为每一个组的边界,每一个组的第一个单选按钮Group属性都为True,直道遇到下一个单选按钮的Group属性True,这之前的单选按钮都为一个组的。
例如:
单选按钮 | Group |
---|---|
radio1 | True |
radio2 | False |
radio3 | True |
radio4 | False |
radio1的Group为真,表示这个组的开始,一直往下直到下一个单选按钮radio3的Group为真就结束这个组,表示radio3之前的按钮都是一个组的。
第二步:设置默认选中按钮
使用CButton类型的指针把获取的控件强制类型转换为按钮类型指针,这样就可以调用SetCheck()函数,参数为true表示为默认值。
使用区域:在程序的初始化函数OnInitDialog()中使用。
((CButton*)GetDlgItem(IDC_RADIOMan))->SetCheck(true)
原理:因为每一个单选按钮就是一个对象,该对象里面有状态变量,状态变量为1和0,1表示选中状态,0表示未选中状态。还可以使用GetCheck()获取状态变量的值。
第三步:如何获取选中按钮的值
先判断哪一个按钮的状态为选中,即getcheck()函数获取,如果为1表示被选中。
然后使用一般方法获取控件内容并赋值保存。
int man, woman; //获取状态值
man=(((CButton*)GetDlgItem(IDC_RADIOMan))->GetCheck());
woman=(((CButton*)GetDlgItem(IDC_RADIOMan))->GetCheck());
if (man == 1)//如果男被选中,就获取控件的值并赋值给变量sex
{
GetDlgItem(IDC_RADIOMan)->GetWindowText(sex);
}
else
{
GetDlgItem(IDC_RADIOWoman)->GetWindowText(sex);
}
上一篇: C语言中的标识符由什么组成
下一篇: php中rsort函数实例用法