MFC单选控件分组选择和特定选择的问题

这是我已经能够做到的,就是将所有的单选框分为两组,前面中文的单选框为一组,后面的radio为一组,可以同时在两个组中选择一个。但是问题如下图当我选择了显示心脏的时候,我期... 这是我已经能够做到的,就是将所有的单选框分为两组,前面中文的单选框为一组,后面的radio为一组,可以同时在两个组中选择一个。
但是问题如下图

当我选择了显示心脏的时候,我期望只能在Radio4和Radio5中选择一个,但是现在可以选择6--9的任意一个
怎样设置才能使得在选择了第一组(中文单选框)中的一个后,只能选择第二组中后面对应的两个单选框中的一个呢?
展开
 我来答
bhtzu
2015-04-28 · TA获得超过1.1万个赞
知道大有可为答主
回答量:8088
采纳率:85%
帮助的人:4299万
展开全部

这个没有太省事儿的办法,只能通过代码实现。

每个单选按钮的禁止/启用,都需要通过如下代码完成:

GetDlgItem(IDC_RADIO4)->EnableWindow(FALSE);//TRUE

你需要在左边三个单选按钮的BnClick消息里面,完成右侧6个按钮的禁止/启用。

追问

按照您说的方法做了,可以做到呢。但是还有一个小小的问题不知道能不能解决

当我先选择了一个以后,换成下一个,上门的4和5确实会变暗,但是4会仍然是选中状态,不知道要怎么解决呢

追答

这里有老版本单选的一个小BUG,就是如果选中后,没法在界面上去掉选择。

简单的解决办法,将radio4做一个控件关联变量(int m_radio4),然后在设置禁用前:

m_radio4 = -1;// no selected
UpdateData(FALSE);
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式