MFCcheckbox使⽤⽅法
MFC中复选框checkbox控件,⾄少有三种⽅法对其进⾏操作,他们是利⽤Cbutton成员函数GetCheck和SetCheck,第⼆种是利⽤CWnd成员函数IsDlgButtonChecked,最后就是把checkbox复选框控件与BOOL型变量相关联。
⼀、⽤CButton成员函数
MFC中复选框CheckBox的基类是CButton。那么就可以⽤GetDlgItem来获取复选框的指针,再⽤Cbutton成员函数GetCheck和SetCheck来获取和设置选中状态。
得到复选框状态的函数:
CButton* pBtn = (CButton*)GetDlgItem(IDC_CHECK_MIXI);
int state = pBtn->GetCheck();
当state == 0时表⽰该复选框没有被选中;
当state == 1时表⽰该复选框被选中;
当state == 2时表⽰不确定(applies only if the button has the BS_3STATE or BS_AUTO3STATE style);
设置复选框状态的函数:
CButton* pBtn = (CButton*)GetDlgItem(IDC_CHECK_MIXI);
pBtn->SetCheck(1);
SetCheck(1)表⽰设置复选框为“选中”状态;
SetCheck(0)表⽰设置复选框为“未选中”状态;
SetCheck(2)设置复选框为不确定状态(This value can be used only if the button has the BS_3STATE or BS_AUTO3STATE style.);
⼆、⽤CWnd成员函数
CButton是从CWnd继承来,那么就可以⽤IsDlgButtonChecked来获取和设置check box的状态。另外MSDN上海说明IsDlgButtonChecked还可以⽤于单选框Radio button。
UINT IsDlgButtonChecked( int nIDButton ) const;
nIDButton为控件ID
函数功能:
该函数可以确定某个按钮控制是否有选中标志,或者三态按钮控制是否为灰⾊的、选中的、或两者都不是。
返回值:
使⽤BS_AUTOCHECKBOX、BS_AUTORADIOBUTTON、BS_AUTO3STATE、BS_CHECKBOX、BS_RADIOBUTION或
BS_3STATE样式创建的按钮的返回值可以是如下值之⼀:
BST_CHECKED:表⽰按钮被选中。
BST_INDETERMINATE:表⽰按钮是灰⾊的,即为不确定状态(只有具有BS_3STATE或BS_AUTO3STATE样式的按钮才使⽤该值)。 BST_UNCHECKED:表⽰该按钮未选中(unckecked)。如果该按钮⽤其他任何样式,那么返回值为零。
if ( BST_CHECKED == IsDlgButtonChecked( IDC_CHECK1 ) )
{
htmlradio多选怎么用//IDC_CHECK1是CheckBox控件。
//check box 被选中执⾏相关动作
}
三、关联BOOL型成员变量
复选框CheckBox控件添加⼀个控件类型的BOOL值变量如:BOOL m_delete;
void calcuArea::DoDataExchange (CDataExchange *pDX)
{
//此代码利⽤类向导可以⾃动⽣成
CAcUiDialog::DoDataExchange (pDX) ;
DDX_Check(pDX, IDC_CHECK1, m_delete);
}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。