lee-romantic 's Blog
Everything is OK!
Toggle navigation
lee-romantic 's Blog
主页
About Me
归档
标签
MFC中check_box的控制方法
2018-11-29 15:00:43
360
0
0
lee-romantic
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); } 参考地址: https://blog.csdn.net/wander_wang/article/details/46491239
上一篇:
python中的字符串分割函数split()
下一篇:
pytorch学习:自定义Datasets以及DataLoader
0
赞
360 人读过
新浪微博
微信
腾讯微博
QQ空间
人人网
提交评论
立即登录
, 发表评论.
没有帐号?
立即注册
0
条评论
More...
文档导航
没有帐号? 立即注册