打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
MFC复选框CheckBox使用

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 ) )
{
//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);
}

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
MFC中复选框的使用
VC控件之CheckBox
C++中单选与复选按钮的使用
安全获取窗口GetSafeHwnd详细解说
VC6 复选框的使用
在MFC中创建动态控件的生成与响应 c/c++ mfc 动态按钮
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服