MFC-单选框和复选框_控件

单选框和复选框都是按钮,都是CButton类

单选框

MFC-单选框和复选框_单选框_02

 

功能:本组单选框只能选中一个

属性 

MFC-单选框和复选框_单选框_03

       显示的文本

MFC-单选框和复选框_单选按钮_04

      是否凸起      

MFC-单选框和复选框_单选框_05

  

分组方法 

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

2.把每一组的第一个的group(组)属性设为True,其它设为False

MFC-单选框和复选框_控件_06

 

查看控件编号顺序


MFC-单选框和复选框_控件_07

文件中查看

 

MFC-单选框和复选框_控件_08

这个编号自己可以修改但不能重复 

代码

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
//返回值:控件的编号序号

 

  

复选框

MFC-单选框和复选框_单选框_09

 同一组中可以选择多个

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)。如果该按钮用其他任何样式,那么返回值为零。