MFC里CHECKBOX用

来源:互联网 发布:移民计划 知乎 编辑:程序博客网 时间:2024/05/16 06:15

转自:http://blog.sina.com.cn/s/blog_4ac0a0d30100cgd7.html)


勾选时,做某种算法;不勾选时 做另一种算法

(一)方法一:

if ( BST_CHECKED == IsDlgButtonChecked( IDC_CHECK1 ) )

{
        / / 勾选时的行为
}
else
{

}

IDC_CHECK1是CheckBox控件。
 
        函数功能:该函数可以确定某个按钮控制是否有选中标志,或者三态按钮控制是否为灰色的、选中的、或两者都不是。
  函数原型:UINT IsDlgButtonChecked(HWND hDlg,Int nlDBUtton);
  参数:
   hDlg:指向包含按钮控制的对话框。
   nkDButtom:指定按钮控制的整型标识符。
  返回值:使用BS_AUTOCHECKBOX、BS_AUTORADIOBUTTON、BS_AUTO3STATE、BS_CHECKBOX、BS_RADIOBUTION或BS_3STATE样式创建的按钮的返回值可以是如下值之一:
   BST_CHECKED:表示按钮被选中。
   BST_INDETERMINATE:表示按钮是灰色的,即为不确定状态(只有具有BS_3STATE或BS_AUTO3STATE样式的按钮才使用该值)。
   BST_UNCHECKED:表示该按钮未选中(unckecked)。如果该按钮用其他任何样式,那么返回值为零。

(二)法二:

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

void calcuArea::DoDataExchange (CDataExchange *pDX)

  {

 CAcUiDialog::DoDataExchange (pDX) ;
  DDX_Check(pDX, IDC_CHECK1, m_delete);
}
 (三)法三:
也可以对变量进行get或者set之类的操作来设置或者判断复选框的选择状态。
 
得到复选框状态的函数:CButton* pBtn = (CButton*)GetDlgItem(IDC_CHECK);
           int state = pBtnNONE->GetCheck();
           当state == 0时表示该复选框没有被选中;
           当state == 1时表示该复选框被选中设置复选框状态的函数:CButton* pBtn = (CButton*)GetDlgItem(IDC_CHECK);
           pBtnNONE->SetCheck(1);
           SetCheck(1)表示设置复选框为“选中”状态;
           SetCheck(0)表示设置复选框为“未选中”状态;
原创粉丝点击