鱼C论坛

 找回密码
 立即注册
查看: 3820|回复: 3

[技术交流] 【MFC入门文字教程】11-单选框(Radio Button)

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

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

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

x
如果要让用户选择多个项,除了列表ListBox下拉列表ComBobox,还有一个单选框 Radio Button。

冷知识:
Radio Button 的名称来自于汽车收音机的一排选择按钮,它曾风靡一时,汽车收音机的每个按钮被设定为不同的电台,在任意时刻只有一个按钮可以按下


好了,不扯这么多了……进入正题。
使用方法很简单,只需要增加一个 BN_CILCKED 消息的处理程序,单选框被选择时会调用此函数。
2016-11-16.png

实践时间
目标:有三种选项,分别是
小明
小红
小华

当用户单击按钮时告诉用户选了什么

思路:有一个全局变量,当用户选择某个 RadioButton 时设置它,当用户按下 Button 时检查全局变量即可。

注:最下面有代码打包,大家可以自己研究~
1.切换到对话框,拖3个RadioButton,分别修改Caption为“小明”,“小红”,“小华”,并为他们添加事件处理程序。
2016-11-16 (1).png
2.在[你的工程名]Dlg.cpp的前面定义一个全局变量:
  1. int Global_Flag = 0;
复制代码

3.拖一个按钮并为它添加事件处理程序。
2016-11-16 (2).png
4.在“小明”单选框,“小红”单选框,“小华”单选框的事件处理程序中添加以下代码:
在小明单选框的事件处理程序里面添加以下内容:
  1. Global_Flag = 1; //选了小明
复制代码

在小红单选框的事件处理程序里面添加以下内容:
  1. Global_Flag = 2; //选了小红
复制代码

在小华单选框的事件处理程序里面添加以下内容:
  1. Global_Flag = 3; //选了小华
复制代码

5.在Button的事件处理程序中添加以下内容(剩下的应该不难了吧~):
  1. if (Global_Flag == 0)
  2.         {
  3.                 MessageBox(TEXT("您什么都没选!"), TEXT("提示"), MB_OK | MB_ICONINFORMATION);
  4.         }
  5.         else if (Global_Flag == 1)
  6.         {
  7.                 MessageBox(TEXT("您选了 小明"), TEXT("提示"), MB_OK | MB_ICONINFORMATION);
  8.         }
  9.         else if (Global_Flag == 2)
  10.         {
  11.                 MessageBox(TEXT("您选了 小红"), TEXT("提示"), MB_OK | MB_ICONINFORMATION);
  12.         }
  13.         else if (Global_Flag == 3)
  14.         {
  15.                 MessageBox(TEXT("您选了 小华"), TEXT("提示"), MB_OK | MB_ICONINFORMATION);
  16.         }
复制代码

然后,编译运行,效果:
MFC1590.gif

代码打包:
MFCApplication16.rar (1.6 MB, 下载次数: 15)

下节预告:
组控件(Group Box)

评分

参与人数 2荣誉 +13 鱼币 +13 贡献 +7 收起 理由
HackerWen + 5 + 5 + 2 支持楼主!
拈花小仙 + 8 + 8 + 5 感谢楼主无私奉献!

查看全部评分

本帖被以下淘专辑推荐:

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

使用道具 举报

发表于 2016-11-17 14:42:20 | 显示全部楼层
准备把42个控件教程全做出来哈
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-2-3 23:01:14 | 显示全部楼层
注意: 使用单选框   放控件的时候不要复制    不要按着ctrl 复制  不要复制      一个一个的从工具箱里面拉出来(虽然麻烦点)
        否则写代码的时候会遇到很麻烦的事情
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-2-3 23:45:10 | 显示全部楼层
设置单选框默认值:
     属性 Group    改为: TRUE
       Dlg.cpp 中的  OnInitDialog() 设置:
           CButton *cbutton = (CButton *)GetDlgItem(IDC_RADIO_ONE);      单选按钮基于Cbutton的
           cbutton->SetCheck(1);  /
         0 把按钮设为未选中状态   1 把按钮设为选中状态  
注意: Group 选择的单选按钮 和  GetDlgItem 里面的ID要一致
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-19 18:31

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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