鱼C论坛

 找回密码
 立即注册
查看: 3863|回复: 2

[技术交流] 【MFC入门文字教程】6-基于CButton的复选框

[复制链接]
发表于 2016-11-12 08:52:55 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 无符号整形 于 2016-11-12 10:14 编辑

还记得第3篇的小例子吗?就是那个设置Style那个。
从那儿可以看到,复选框是基于 CButton 的。
好了,进入正题。
我们先不急着实践,先了解一些重要概念。
一个复选框打了勾,那么这个复选框的 Check 状态就是 TRUE,否则为 FALSE
所以我们可以用 GetCheck 成员函数获取 Check 状态,如果是1就是打了勾,否则就是没打勾
还可以使用 SetCheck 成员函数强行设置 Check状态,以达到强行打勾或不打勾。
注:因为复选框实际上是基于 CButton的,所以变量类型也是 CButton(意味着成员函数和 CButton 的成员函数完全一样)。


实践时间

1.创建一个基于对话框的 mfc 工程,在工具箱拖一个 Check Box 控件到对话框的中间,然后把复选框的标题改成Test1(修改属性中的 Caption项)。
MFC1200.gif
2.给Checkbox添加一个变量,便于获取 Check状态(建议把名称设为 m_checkbox)
MFC1001.gif
3.拖一个按钮,并且给他添加事件处理程序。(目标:当用户按下这个按钮时,我们要检测刚才拖的 Checkbox 的 CHECK 状态,并且告诉用户复选框打勾了没有)
MFC1191.gif
4.在事件处理函数中添加如下内容(带注释):
  1. if (m_checkbox1.GetCheck() == 1) //获取Check状态,如果打勾的话GetCheck会返回1,不打勾的话就会返回0
  2.         {
  3.                 MessageBox(TEXT("Check Box打了勾"), TEXT("提示"), 0); //弹出提示框
  4.         }
  5.         else //如果        GetCheck返回了0,那就是没打勾
  6.         {
  7.                 MessageBox(TEXT("Check Box没打勾"), TEXT("提示"), 0);
  8.         }
  9.         m_checkbox1.SetCheck(1); //设置Check状态,设置为1即为打勾,设置为0为取消打勾。这里即为让CheckBox打勾
复制代码

5.编译并且运行,最终结果:
MFCDtest1090S.gif

是不是很激动呢~

评分

参与人数 1荣誉 +5 鱼币 +5 贡献 +4 收起 理由
拈花小仙 + 5 + 5 + 4 MFC,学会了发现学什么都简单`

查看全部评分

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-7-19 21:40:07 | 显示全部楼层
Test1变量名应该叫m_checkbox1吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-8-6 20:52:09 | 显示全部楼层
添加的变量在哪
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-30 22:03

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表