单选按钮Radio Button和复选框Check Box的使用
来源:互联网 发布:软件定义网络sdn 编辑:程序博客网 时间:2024/05/20 23:33
以下都是个人理解,如有错误欢迎指出
单选框使用过程
1、连续拖拽单选框到对话框界面作为一组,这样单选框的ID是连续的
2、将第一个单选框(也就是ID值最小的那个)属性Group设置为True,并且添加成员变量
3、初始化单选框的状态,应该保证一组中有且只有一个单选框被选中
4、处理单选框的选择结果,获取这组的单选框的状态
复选框使用过程
1、复选框不用分租,比单选框简单,拖拽一个单选框到对话框界面,并为它添加成员变量
2、设置初始状态
3、处理复选框的选择结果,获取复选框的状态
以下是注意事项的初始化,获取结果的实现方法
一、单选框Radio Button
1、分组
a、要求一组单选按钮的标识符ID要是连续递增的。
b、在一个对话框上可以有几组单选按钮,每组按钮中只能有一个按钮被选中(变量初始化的时候)
c、无论如何,在变量初始化的时候,一组单选按钮中不能有两个或两个以上的按钮被同时选中(可以在代码中实现的),否则在程序获取选中按钮状态时,程序会崩溃。
d、分组标志:在每组的第一个单选按钮ID(ID的值在组中最小)属性设置为Group,否则会使一部分按钮错误地分到其他组或者失效(可选中,但值为-1)
e、只有属性为Group的按钮可以添加变量,否则程序无法运行
2、初始化(对话框生成时单选按钮的默认状态)
a、单选按钮没有成员变量时,初始化时,按钮状态是没有按钮处于被选中状态,可以用方法c、d初始化。
b、单选按钮有成员变量m_radio时,对话框会根据变量的值初始化单选按钮状态
例:假设此时有3个按钮,初始化变量m_radio = 0表示对话框默认第一个按钮被选中状态,负数或者大于2的整数都会使所有按钮为未选中状态
注:但都未选中时,获取m_radio的值,m_radio 为-1。
c、使用CheckRadioButton()函数(个人感觉有时不太好使)
BOOL CheckRadioButton(
int nlDFirstButton, //指定组中第1个单选按钮的标识符ID
int nlDLastBUtton,//指定组中最后一个单选按钮的标识符
int nlDCheckButton//要默认选中的那个单选按钮的标识符
);
d、
((CButton*)GetDlgItem(IDC_RADIO6))->SetCheck(1);
可以使控件ID为IDC_RADIO6的按钮为选中状态。
注:这种方法不考虑其他方法是否将其他单选按钮已选中,所以会造成多个单选按钮同时选中的情况,是不允许的!所以要将其他按钮全部SetCheck(0);
3、获取状态
a、IsDlgButtonChecked(nID);可以获取控件nID的按钮是否为选中状态
返回值:(只列两个值)
BST_CHECKED(1)为选中状态
BST_UNCHECKED(0)为未选中状态
b、GetCheckedRadioButton();
int GetCheckedRadioButton(
int nIDFirstButton, //指定组中第1个单选按钮的标识符ID
int nIDLastButton//指定组中最后一个单选按钮的标识符
);
返回值: 当有被选中的单选框时返回被选中的单选框的ID,如果所给的组中都没被选中则返回0
c、UpdateData(),获取成员变量的值也可以获得单选框状态
二、复选框Check Box
1、初始化
选中状态
((CButton*)GetDlgItem(IDC_CHECK1))->SetCheck(1);
未选中状态
((CButton*)GetDlgItem(IDC_CHECK1))->SetCheck(0);
2、获取状态
a、int state = ((CButton*)GetDlgItem(IDC_CHECK1))->GetCheck();
b、IsDlgButtonChecked(nID);同Radio Button使用方法一样
- 单选按钮Radio Button和复选框Check Box的使用
- MFC--按钮(radio button,check box)
- [ATL/WTL]_[中级]_[原生的复选框(checkbox button)和单选按钮(radio button)实现透明背景效果解决方案]
- Check Box&Radio Button
- 鸡啄米vc++2010系列21(按钮控件Button、Radio Button和Check Box)
- 单选按钮(Radio button
- 2.2 复选框和单选按钮的使用实例
- VS2010/MFC编程入门之二十一(常用控件:按钮控件Button、Radio Button和Check Box)
- VS2010/MFC编程入门之二十一(常用控件:按钮控件Button、Radio Button和Check Box)
- VS2010/MFC编程入门之二十二(常用控件:按钮控件Button、Radio Button和Check Box)
- VS2013/MFC编程入门之二十一(常用控件:按钮控件Button、Radio Button和Check Box)
- C++ MFC / VS2013 之二十(常用控件:按钮控件Button、Radio Button和Check Box)
- 表单控件(复选框checkbox和单选择按钮radio)
- 使用easyui框架form控件,单选按钮radio或复选框checkbox样式问题
- AndroidGUI04:Button(Basic Button,ImageButton, Check Box, Toggle Button, Radio Button)的常用技巧
- AndroidGUI04:Button(Basic Button,ImageButton, Check Box, Toggle Button, Radio Button)的常用技巧
- AndroidGUI04:Button(Basic Button,ImageButton, Check Box, Toggle Button, Radio Button)的常用技巧
- rails 4 中使用 bootstrap的radio button 的形式来提供 单选按钮
- Win10 下intellij idea 的Terminal不能用的问题
- .net entity framework 多表左连接
- ubuntu 13.04 hadoop伪分布式环境的搭建
- 对vector进行sort时,cmp函数的写法
- angularjs绑定调用时间
- 单选按钮Radio Button和复选框Check Box的使用
- taglist的使用
- 互联网金融“玩转”供应链融资
- mysql集群理解
- 架构师速成-架构的目标
- C++ 分离编译 多个文件
- Spring mvc 动态数据源的配置
- 黑马程序员--OC的Foundation框架之日期
- JSONObject与JSONArray的使用