MFC-单选框和复选框
原创
©著作权归作者所有:来自51CTO博客作者天子骄龙的原创作品,请联系作者获取转载授权,否则将追究法律责任
单选框和复选框都是按钮,都是CButton类
单选框
功能:本组单选框只能选中一个
属性
显示的文本
是否凸起
分组方法
1.按CTRL+D,保证同一组内的radio的tab序号是连续的;调整tab序号的方式是:鼠标点击数字,比如先点3,然后点7,则3和7会交换,即radio1变为7,radio5变为3;
2.把每一组的第一个的group(组)属性设为True,其它设为False
查看控件编号顺序
在
文件中查看
这个编号自己可以修改但不能重复
代码
CButton* pNan = (CButton*)GetDlgItem(IDC_NAN);
pNan->SetCheck(BST_CHECKED);//设置是否选中
//参数: BST_CHECKED 此控件设置为被选中状态
// BST_UNCHECKED 设置为未先中状态
pNan->SetCheck(FALSE);//设置是否选中
//参数: TRUE 此控件设置为被选中状态
// FALSE 设置为未先中状态
BOOL b= pNan->GetCheck(); //判断是否选中
//返回TRUE表示选上,FALSE表示没选上
CheckRadioButton(IDC_NAN, IDC_RADIO3, IDC_NV);//选择默认选中的单选框
//参数1为该组的第一个单选按钮的ID--根据tab序号,从小到大
//参数2为该组的最后一个单选按钮的ID
//参数3为该组中被选中的单选按钮的ID
int id = GetCheckedRadioButton(IDC_NAN, IDC_RADIO3);//返回组中被选择的单选框
//参数1为该组的第一个单选按钮的ID--根据tab序号,从小到大
//参数2为该组的最后一个单选按钮的ID
//返回值:控件的编号序号
复选框
同一组中可以选择多个
CButton* pNan1 = (CButton*)GetDlgItem(IDC_CHECK1);
CButton* pNan3 = (CButton*)GetDlgItem(IDC_CHECK3);
pNan1->SetCheck(TRUE); //设置是否选中
//参数: TRUE 此控件设置为被选中状态
// FALSE 设置为未先中状态
pNan3->SetCheck(TRUE);
BOOL b = pNan1->GetCheck(); //判断是否选中
//返回TRUE表示选上,FALSE表示没选上
int n = IsDlgButtonChecked(IDC_CHECK3);//返回选中状态
//BST_CHECKED: 表示按钮被选中。
//BST_INDETERMINATE:表示按钮是灰色的,即为不确定状态(只有具有BS_3STATE或BS_AUTO3STATE样式的按钮才使用该值)。
//BST_UNCHECKED: 表示该按钮未选中(unckecked)。如果该按钮用其他任何样式,那么返回值为零。