MFC中复选框Check控件用法

当复选框ComBox控件勾选时做一种算法,不勾选时,做另一种算法,程序如下所示:

if (BST_CHECKED == IsDlgButtonChecked(IDC_CHECK1))

{

      // 勾选

}

else

{

}


IDC_CHECK1
CheckBox控件。

 

函数功能:该函数可以确定某个按钮控制是否有选中标志,或者三态按钮控制是否为灰色的、选中的、或两者都不是。

  函数原型:UINT IsDlgButtonCheckedHWND hDlgInt nlDBUtton);
  参数:
hDlg:指向包含按钮控制的对话框。
nkDButtom:指定按钮控制的整型标识符。
  返回值:使用BS_AUTOCHECKBOXBS_AUTORADIOBUTTONBS_AUTO3STATEBS_CHECKBOXBS_RADIOBUTIONBS_3STATE样式创建的按钮的返回值可以是如下值之一:
BST_CHECKED:表示按钮被选中。
BST_INDETERMINATE:表示按钮是灰色的,即为不确定状态(只有具有BS_3STATEBS_AUTO3STATE样式的按钮才使用该值)。

BST_UNCHECKED:表示该按钮未选中(unckecked)。如果该按钮用其他任何样式,那么返回值为零。

也可以为该控件添加一个控件类型的BOOL值变量如:BOOL m_delete;

voidcalcuArea::DoDataExchange (CDataExchange *pDX) {
 CAcUiDialog::DoDataExchange (pDX) ;
 DDX_Check(pDX, IDC_CHECK1, m_delete);
}


二,另一种复选框用法:

switch (IsDlgButtonChecked(IDC_CHECK_FLREADUSERSET))

   {

   case BST_CHECKED:        //按钮被选中

     

      break;

 

   case BST_UNCHECKED:         //按钮没被选中

     

      break;

 

   case BST_INDETERMINATE:     //按钮选中状态不确定

     

      break;

 

   default:

      break;

   }

 

三、动态设置复选框状态

CButton* pBtn = (CButton*)GetDlgItem(IDC_CHECK);  //获得复选框控件的句柄

int state = pBtn->GetCheck();  //判断复选框控件当前状态:勾选或不勾选

      if(state == 0)  

      {  

          MessageBox(_T("勾选"));  

      }  

      else  

      {  

          MessageBox(_T("不勾选"));  

      }  

设置选择状态:

 (CButton *)GetDlgItem(IDC_CHECK))->SetCheck(1);//设置复选框当前状态为勾选(0为未勾选)


参考内容:

http://blog.csdn.net/youxiazzz12/article/details/7520628

http://blog.csdn.net/nonecode/article/details/8225217

https://jingyan.baidu.com/article/219f4bf7d54480de442d3895.html

你可能感兴趣的:(MFC积累)