现在的位置: 首页 > 综合 > 正文

2010年09月08日 MFC里CHECKBOX用法

2013年10月12日 ⁄ 综合 ⁄ 共 1058字 ⁄ 字号 评论关闭
勾选时...做某种算法
不勾选时 做另一种算法

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 == 1时表示该复选框没有被选中;

           当state == 0时表示该复选框被选中设置复选框状态的函数:CButton* pBtn = (CButton*)GetDlgItem(IDC_CHECK);

           pBtnNONE->SetCheck(1);

           SetCheck(1)表示设置复选框为“选中”状态;

           SetCheck(0)表示设置复选框为“未选中”状态;

抱歉!评论已关闭.