MFC radio控件的使用方法

MFC对话框中Radio控件使用 MFCradiobutton的使用 阅读详情

http://blog.chinaunix.net/uid-24517893-id-2181827.html

先为对话框加上2个radio button,分别是Radio1和Radio2。

问题1:如何让Radio1或者Radio2默认选上?如何知道哪个被选上了?
关键是选上,“默认”只要放在OnInitDialog()即可。三种方法可以让它选上,
第一种:
((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()获取状态。
第三种:
关联一个int型变量(同样需要先分组)m_nRadio1,打开对话框构造函数,你会发现有:
m_nRadio1 = -1;m_nRadio1别赋值-1表示哪个都没有选上。如果你把-1改成0,就会发现Radio1默认被选上了,依此类推,m_nRadio1的值为1 就是第二个被选上了(这里同样有问题,哪个是第一个?哪个是第二个?)。获取状态很简单,UpdateData(TRUE)后判断m_nRadio1的值 即可。
问题2:如何使用多组?
多组和一组是一样的使用,只要搞清楚哪个是哪一组的就行了。再为对话框添加Radio3和 Radio4。很简单,先为这些Radio Button排个顺序(这个必须要做,比如你的一组控件有Radio1,Radio2,Radio3,就把它们的TAB顺序分别设为1,2,3,并将 Radio1的Group属性设为True,这样,当选中Radio1的时候和它关联的变量就是0,当选中Radio2的时候和它关联的变量就是1,依此 类推),就是排列他们的TAB ORDER。在对话框资源面板上Ctrl+D,然后按你自己的理想顺序用鼠标逐个点击就可以了。不妨假设Radio1、Radio2、Radio3、 Radio4分别是1、2、3、4。Radio1和Radio3都选上Group属性,那么,1、2是一组,3、4是另外一组,因为分组的原则是在选上 Group属性的这一个开始直到碰到下一个选上Group属性的。你不妨再Ctrl+D,令Radio1、Radio2、Radio3、Radio4分别 是1、3、2、4,那么Radio1和Radio3是一组,如果m_nRadio1=1,此时是Radio3被选上而不是Radio2被选上。分好了组就 分别使用它们吧。
嗯,也许你还要为它们添加鼠标单击事件,非常简单。

单选按钮控件(Radio Button)的使用
关键词:单选按钮控件 使用方法
一、对单选按钮进行分组:
每组的第一个单选按钮设置属性:Group,Tabstop,Auto;其余按钮设置属性Tabstop,Auto。如:
Radio1、Radio2、Radio3为一组,Radio4、Radio5为一组
设定Radio1属性:Group,Tabstop,Auto
设定Radio2属性:Tabstop,Auto
设定Radio3属性:Tabstop,Auto
设定Radio4属性:Group,Tabstop,Auto
设定Radio5属性:Tabstop,Auto
二、用ClassWizard为单选控件定义变量,每组只能定义一个。如:m_Radio1、m_Radio4。
三、用ClassWizard生成各单选按钮的单击消息函数,并加入内容:
void CWEditView::OnRadio1()
{
m_Radio1 = 0; //第一个单选按钮被选中
}
void CWEditView::OnRadio2()
{
m_Radio1 = 1; //第二个单选按钮被选中
}
void CWEditView::OnRadio3()
{
m_Radio1 = 2; //第三个单选按钮被选中
}
void CWEditView::OnRadio4()
{
m_Radio4 = 0; //第四个单选按钮被选中
}
void CWEditView::OnRadio5()
{
m_Radio4 = 1; //第五个单选按钮被选中
}
四、设置默认按钮:
在定义控件变量时,ClassWizard在构造函数中会把变量初值设为-1,只需把它改为其它值即可。
如:
//{{AFX_DATA_INIT(CUnitBlockTypeFlankPublicAdd)
m_Radio1 = 0; //初始时第一个单选按钮被选中
m_Radio4 = 0; //初始时第四个单选按钮被选中
//}}AFX_DATA_INIT
MFC开发-RadioControl控件使用 MFC开发-RadioControl控件使用 阅读详情

相关推荐

mfc 如何运用radiobutton并修改默认选中

今天突然用到mfcradio-button,结果因为好久不用mfc忘记了如何使用,又花费了一些时间去百度并实验,所以决定这次总结记录一下。 首先我们在dialog上创建我们所需要的radiobutton,并将所有的tabstop、auto属性设置为true。接下来,我们将每组默认的首个radiobutton的group属性设置为true,其他的设置为false。 随后,我们用ctrl d,来查...

c1149884598的博客 2682

MFC Radio Button控件完全指南:从基础到高级应用

本文详细介绍了MFCRadioButton控件的全面应用,从基础概念到高级功能实现。内容包括:1) RadioButton的基本特性和属性设置方法;2) 样式定制与外观修改技术;3) 自定义RadioButton派生类的创建;4) 动态创建和界面布局实现;5) 高级应用如数据交换管理和验证功能;6) 实际应用示例。通过大量代码示例展示了RadioButton的初始化、事件处理、数据绑定等关键技术,特别介绍了支持图标的自定义RadioButton和带验证功能的RadioButton组等高级用法,为开发复杂的

专注现代C++实战,从核心语法到高性能编程,助力开发者深入掌握系统级编程精髓。 385

GroupBox和Radio用法

一、Radio控件用法 1.1Radio控件默认设置 ((CButton*)GetDlgItem(IDC_RADIO_MM))->SetCheck(TRUE); 1.1.1     GetDlgItem(ID)函数功能:获取属性ID号的对象指针。 1.1.2    GetDlgItem函数返回值:一个CWnd*指针,该指针被强制转换为CButton*指针。 1.1.3    CButto

净无邪博客 2871

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

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

Demo.demo的博客 3559

VC中Radio控件的用法[转]

先为对话框加上2个radio button,分别是Radio1和Radio2。 问题1:如何让Radio1或者Radio2默认选上?如何知道哪个被选上了? 关键是选上,“默认”只要放在OnInitDialog()即可。三种方法可以让它选上, 第一种: ((CButton *)GetDlgItem(IDC_RADIO1))->SetCheck(TRUE);//选上 ((CButton...

weixin_33698823的博客 1031

MFC---使用Radio控件

MFC---使用Radio控件 主要内容:Radio button分组 当把Radio button在界面上放好后,就需要分组,已实现单选的功能。 经过试验发现,只需要将该组内的第一个Radio button 在属性中设置成 Group --- True Tapstop---True Auto---True 改组内的后面的Radio butto

fightsqlee的专栏 1493

控件Radio Button:MFCRadio Button使用方法

<br /><br />先为对话框加上2个radio button,分别是Radio1和Radio2。<br />问题1:如何让Radio1或者Radio2默认选上?如何知道哪个被选上了?<br /><br />关键是选上,“默认”只要放在OnInitDialog()即可。三种方法可以让它选上,<br />第一种:<br />((CButton *)GetDlgItem(IDC_RADIO1))->SetCheck(TRUE);//选上<br />((CButton *)GetDlgItem(I

蚍蜉撼草木 4598

[MFC]Radio Button 控件使用小结

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

u010606097的专栏 1118

radio控件选中处理mfc_合适的选择类控件

本文是选择类控件设计解析(下篇)我们很容易陷入到特定控件的中,所以我最好是从整体上开始思考。然后做出最佳决定,决定使用哪种选择设计最有利于一致性、差异性和层次感,控件的高度,宽度,样式设计和选项数量都是至关重要的因素。我们可以从被选择对象是单选还是多选出发,来确定使用哪种选择控件,可以根据下图的情况选择正确的类型。1.1 单选时选项6个以下时,使用单选框&Tab标签单选按钮认知成本低,它能...

weixin_39528843的博客 210

Radio/Check混合MFC控件实现

weixin_33958366的博客 102

MFC单选控件Radio使用总结

单选钮用来表示一系列的互斥选项,这些互斥项常常被分成若干个组,每组仅允许用户选择一个选项;复选框与单选按钮相象,不同之处是复选框代表多重选择,用户可以选择一个或多个选项。   对话框编辑器中各组控件的对齐   按下Ctrl键并单击要对齐的各个控件,同时选中。最后选中的控件是对齐的基准,仔细观察,它周围的8个小方框是实心的,而其它被选控件周围的小方框是空心的。    在Layout菜单中选

xiaojun11的专栏 5927

MFC中对话框控件radio的用法

先为对话框加上2个radio button,分别是Radio1和Radio2。问题1:如何让Radio1或者Radio2默认选上?如何知道哪个被选上了? 关键是选上,“默认”只要放在 OnInitDialog()即可。三种方法可以让它选上, 第一种: ((CButton *)GetDlgItem(IDC_RADIO1))->SetCheck(TRUE);//选上

吴亮与你共同进步 7286

MFCRadio Button 使用方法

先为对话框加上2个radio button,分别是Radio1和Radio2。 问题1:如何让Radio1或者Radio2默认选上?如何知道哪个被选上了? 关键是选上,“默认”只要放在OnInitDialog()即可。三种方法可以让它选上, 第一种: ((CButton *)Get...

chuifuhuo6864的博客 322

MFC combo, radio控件使用

1. 下拉框combo控件 Data中输入,默认值。还可以在OnInitDialog()增加项目,设置默认值。 新建控件变量m_combo_Num 2. 单选框radio控件 新建一组单选框控件 在第一个,Group设置为True,其他不变。在遇到下一个为Group前都是同一组。 修改TAB键顺序 第一个radio控件添加Value类型变量 3. 实际代码 // MFCApplication1Dlg.h : 头文件 // #pragma once #include "afxwin.h"

TrueLink的博客 1434

MFCRadio Button使用方法

MFCRadio Button使用方法

kahncc的博客 202

MFC Radio Button控件编程

今天用了MFCRadio button用于系统的选择s

四维空间 1143

MFC 控件Radio Button的使用 .

使用方法: 1.建立一个基于对话框的用用程序,在其中加入三个Radio Button,ID分别为: IDC_RADIO1,IDC_RADIO2,IDC_RADIO3 2.控件的初始化: 在对话框类的OnInitDialog中加入代码: CheckRadioButton(IDC_RADIO1, //第一个参数为该组的第一个单选按钮的ID IDC_RADIO3, //第二个

希望记录下自己的一点一滴,慢慢成长。。 1480
上一篇: Doxygen代码注释规定和生产文档说明
下一篇: MFC checkbox使用方法
dumeichen
博客等级 码龄12年 55粉丝 475原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值