标签:
基础介绍:
radio button通常都是成组使用的,在一组里面是互斥的。
分组的原则是:
1、首先将RadioButton控件定好Tab顺序,具体方法:
工具栏“格式”—>“Tab键顺序”选项选中(或者按键 Ctrl + D),
然后按照想要设定的次序,依次点击对话框上面的RadioButton按钮,Tab键顺序设定完成。
2、按照上面的Tab键顺序进行分组,然后设定每组第一个RadioButton的Group属性为TRUE(其他为FALSE),分组完成,
即从当前设置Group属性为TRUE的RadioButton开始直到碰到下一个选上Group属性的RadioButton的前一个RadioButton为一个组,
也就是说系统只要检测到Group属性为TRUE,就认为是一个新的分组。
3、为单选控件定义Control变量或Value变量,每组只能定义一个,通过设定值来确定哪一个RadioButton被选中,其中-1表示该组均不被选中,0表示该组第一个RadioButton被选中,1表示选中第二个,2表示选中第三个……)。
单选事件:
方法一:最简单最常用
就是在OnInitDialog()中设置RadioButton的初始选中状态,因为默认都处于未选中状态
((CButton *)GetDlgItem(IDC_RADIO1))->SetCheck(TRUE); //选上 ((CButton *)GetDlgItem(IDC_RADIO2))->SetCheck(FALSE);//不选上
然后结合RadioButton的点击事件来改变变量值,或者动态判断RadioButton是否被选中
if (((CButton *)GetDlgItem(IDC_RADIO1))->GetCheck())
方法二:比较复杂
为单选控件定义Control(即CButton)变量或Value(即BOOL)变量,每组只能定义一个,通过设定值来确定哪一个RadioButton被选中,其中-1表示该组均不被选中,0表示该组第一个RadioButton被选中,1表示选中第二个,2表示选中第三个……)
如下图,共创建四组RadioButton,记着设定Tab键顺序以及为每组第一个RadioButton设置Group属性。初始化对话框为下图:
为该工程中的RadioButton设定下面若干变量:(为单选控件定义Control变量或Value变量,每组只能定义一个)
BOOL m_Radio1; //对应于组 1 1
CButton m_RBtGroup2; //对应于组 2 1
添加变量
RadioButtonInstanceDlg.h文件中:
代码部分如下
class CRadioButtonInstanceDlg : public CDialogEx
{
// 构造
public:
// 对话框数据
// 实现
protected:
public:
};
RadioButtonInstanceDlg.cpp文件中:
void CRadioButtonInstanceDlg::DoDataExchange(CDataExchange* pDX)
{
}
标签:
原文地址:http://blog.csdn.net/jiangqin115/article/details/45176961