【MFC入门文字教程】11-单选框(Radio Button)
如果要让用户选择多个项,除了列表ListBox,下拉列表ComBobox,还有一个单选框 Radio Button。冷知识:
Radio Button 的名称来自于汽车收音机的一排选择按钮,它曾风靡一时,汽车收音机的每个按钮被设定为不同的电台,在任意时刻只有一个按钮可以按下
好了,不扯这么多了……进入正题。
使用方法很简单,只需要增加一个 BN_CILCKED 消息的处理程序,单选框被选择时会调用此函数。
实践时间
目标:有三种选项,分别是
小明
小红
小华
当用户单击按钮时告诉用户选了什么
思路:有一个全局变量,当用户选择某个 RadioButton 时设置它,当用户按下 Button 时检查全局变量即可。
注:最下面有代码打包,大家可以自己研究~{:10_254:}
1.切换到对话框,拖3个RadioButton,分别修改Caption为“小明”,“小红”,“小华”,并为他们添加事件处理程序。
2.在[你的工程名]Dlg.cpp的前面定义一个全局变量:
int Global_Flag = 0;
3.拖一个按钮并为它添加事件处理程序。
4.在“小明”单选框,“小红”单选框,“小华”单选框的事件处理程序中添加以下代码:
在小明单选框的事件处理程序里面添加以下内容:
Global_Flag = 1; //选了小明
在小红单选框的事件处理程序里面添加以下内容:
Global_Flag = 2; //选了小红
在小华单选框的事件处理程序里面添加以下内容:
Global_Flag = 3; //选了小华
5.在Button的事件处理程序中添加以下内容(剩下的应该不难了吧~):
if (Global_Flag == 0)
{
MessageBox(TEXT("您什么都没选!"), TEXT("提示"), MB_OK | MB_ICONINFORMATION);
}
else if (Global_Flag == 1)
{
MessageBox(TEXT("您选了 小明"), TEXT("提示"), MB_OK | MB_ICONINFORMATION);
}
else if (Global_Flag == 2)
{
MessageBox(TEXT("您选了 小红"), TEXT("提示"), MB_OK | MB_ICONINFORMATION);
}
else if (Global_Flag == 3)
{
MessageBox(TEXT("您选了 小华"), TEXT("提示"), MB_OK | MB_ICONINFORMATION);
}
然后,编译运行,效果:
代码打包:
下节预告:
组控件(Group Box) 准备把42个控件教程全做出来哈 注意: 使用单选框 放控件的时候不要复制 不要按着ctrl 复制不要复制 一个一个的从工具箱里面拉出来(虽然麻烦点)
否则写代码的时候会遇到很麻烦的事情 设置单选框默认值:
属性 Group 改为: TRUE
Dlg.cpp 中的OnInitDialog() 设置:
CButton *cbutton = (CButton *)GetDlgItem(IDC_RADIO_ONE); 单选按钮基于Cbutton的
cbutton->SetCheck(1);/
0 把按钮设为未选中状态 1 把按钮设为选中状态
注意: Group 选择的单选按钮 和GetDlgItem 里面的ID要一致
页:
[1]