欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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);
    }

相关标签: MFC/GDI+