VS2013/MFC基于对话框编程:[12]单选按钮
的有关信息介绍如下:![VS2013/MFC基于对话框编程:[12]单选按钮](/upload/jingyan/2025/1010/d6666faa.jpg)
单选按钮(Radio Button)常用于多选一的情况,比如试卷的选择题,抽样调查的选项等等,但在实际中一般用来选择不同的设置选项以达到不同的目的,本经验通过简单的例子讲述如何使用单选按钮。
新建项目,打开对话框设计界面,在对话框中添加若干控件:
3个编辑框,1个按钮,两组单选组合,若干个静态文本。
功能:两个编辑框选择加减乘除运算,并将结果送入第三个编辑框显示,计算按钮通过第二组单选按钮组选择启用或者禁用。
修改属性,包括ID和Caption,以及编辑框的只读属性等。
按钮ID为IDC_CALC,编辑框ID为IDC_Add1、IDC_Add2、IDC_Result;
算法组的单选按钮ID为IDC_Plus、IDC_Minus、IDC_Multi、IDC_Div;
启用组的单选按钮ID为IDC_Use、IDC_NUse。
两编辑框之间的静态文本ID为IDC_Algorithm,表示当前选用的算法。
最重要的一步:修改单选按钮的Group属性,本例程共有两组单选按钮,需要设定两个组,每一组的第一个单选按钮的Group属性需要为真。
添加变量和函数:三个编辑框分别添加Double型的变量m_add1、m_add2、m_result。第一组单选按钮第一个按钮添加int m_plus;第二组单选按钮第一个按钮添加BOOL m_use;IDC_Algorithm静态文本对应变量CStatic m_algroithm;
双击计算按钮添加按钮按下事件处理函数。
修改初始化函数OnInitDialog添加:
GetDlgItem(IDC_CALC)->EnableWindow(false);
分别双击“启用”和“禁用”自动生成函数,添加代码启用或禁用“计算”按钮,这样做就不需要定义m_use变量了,但是如果别的地方需要判断到底有没有启用,就得通过变量判断了。
通过单选选择“加减乘除”算法,这里采用单个函数处理多个事件的方式编写程序,在头文件中声明:
afx_msg void OnBnClickedAlgor(UINT nID);
源文件中添加消息映射:
ON_CONTROL_RANGE(BN_CLICKED, IDC_Plus, IDC_Div, OnBnClickedAlgor)
并实现OnBnClickedAlgor函数。
这一步可以参考本系列经验第10篇“处理多个事件”。
当然也可以逐个双击单选按钮生成4个函数分别处理,不过那样的话就显得很麻烦。
修改计算函数,通过变量m_plus判断运算符,实现两数的加减乘除运算。
测试程序功能,启动调试,默认情况计算按钮不可用,选择启用后方可使用,然后选择运算符,点击计算得到结果,随时点击禁用都会使计算按钮不可用。



