勾选时...做某种算法---不勾选时 做另一种算法
if ( BST_CHECKED == IsDlgButtonChecked( IDC_CHECK1 ) )
{
// 勾选
}
else
{
}
IDC_CHECK1是CheckBox控件。
函数功能:该函数可以确定某个按钮控制是否有选中标志,或者三态按钮控制是否为灰色的、选中的、或两者都不是。
参数:
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) {
}
也可以对变量进行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)表示设置复选框为“未选中”状态; |
另一种用法:
Check Box 的使用方法与Radio Button 的用法相似,比它简单
1.设定Check Box为 选中状态 :(CButton*)GetDlgItem(ID号))->SetCheck(TRUE);(SetCheck(FALSE)) 为不选中,如果想初始化为选中状态,则在InitDlg函数中加入此函数.
2.检查Check Box是否为选中状态,可用GetCheck()函数,如:
if(BST_CHECKED==((CButton*)GetDlgItem(IDC_RADIO1))->GetCheck())
if(BST_UNCHECKED==((CButton*)GetDlgItem(IDC_RADIO3))->GetCheck())