[MFC]如何用几行代码完整的判断20个radiobox哪个是CHECKED状态

总是CButton*radio1=(CButton*)GetDlgItem(XXXX);if(radio->getCheck()==XXX){doSometing();}... 总是
CButton* radio1 = (CButton*)GetDlgItem(XXXX);
if(radio->getCheck()==XXX)
{
doSometing();

}
.....
总觉得很麻烦,而且代码重复率也太高了,求指教。
如果用选中触发事件,也需要在其他地方补充代码,请问有什么方式,仅仅几行代码能解决这个问题?
展开
 我来答
来自月岩仪态万千的比目鱼
2013-11-11 · TA获得超过1571个赞
知道小有建树答主
回答量:1221
采纳率:50%
帮助的人:972万
展开全部

把ID放在一个数组里面,然后使用for循环判断。

INT RadioID[] = { IDC_Radio1,IDC_Radio2,...};

for(int i=0;i<sizeof(RadioID)/sizeof(int);i++)
{
    CButton* radio1 = (CButton*)GetDlgItem(RadioID[i]);
    if(radio->getCheck() == 1)
        {
           doSometing();
        }
}
匿名用户
2013-11-11
展开全部
用ON_CONTROL_RANGE应该还好吧,不过注意radio button的ID一定要连续
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式