您的位置:首页 > 其它

MFC关于Radio按钮的操作

2015-05-24 23:18 211 查看


一、通过分组,使用编号来区别

1. 环境:VS2010

2. 分组

将radio1、radio2、radio3分为1组,radio4、radio5分为另一组;

方法:设置 radio1 的 属性: group、tabstop、auto均为true

设置 radio2 的 属性: group设为false, tabstop、auto均为true

设置 radio3 的 属性:group设为false, tabstop、auto均为true

设置 radio4 的 属性: group、tabstop、auto均为true

设置 radio5 的 属性: group设为false,tabstop、auto均为true

3. 按CTRL+D,保证同一组内的radio的tab序号是连续的;调整tab序号的方式是:鼠标点击数字,比如先点3,然后点7,则3和7会交换,即radio1变为7,radio5变为3;



4. 关联int型变量 注意:只需将group属性为true的radio1关联,radio2和radio3无需关联; 同样,radio4需关联,radio5无需关联



5. 第4步完成后,在窗体头文件中可以看到



构造函数:



默认第一个radio被选中,即radio1被选中

二、通过空间ID来设置是否选中

((CButton *)GetDlgItem(IDC_RADIO1))->SetCheck(TRUE);//选上

((CButton *)GetDlgItem(IDC_RADIO1))->SetCheck(FALSE);//不选上

((CButton *)GetDlgItem(IDC_RADIO1))->GetCheck();返回1表示选上,0表示没选上

三、通过控件子类化

关联一个congtrol型变量(子类化),好ctrl+W(即打开classwizard),点开 Member Variables,咦?怎么没有IDC_RADIO1这个ID?原来是没有分组。因为radio button通常都是成组使用的,在一组里面是互斥的。取消,回到对话框资源面板,右键Radio1查看属性把Group选上,那么,Radio1和 Radio2就是一组了(怎么知道他们是一组的?后面说)。此时,就可以为Radio1增加一congtrol型变量m_ctrlRadio1了。如下:

m_ctrlRadio1.SetCheck(TRUE);

同样可以使用GetCheck()获取状态。

文献来源:
http://blog.chinaunix.net/uid-24517893-id-2181827.html
/article/2985192.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: