复选框状态的判断问题?

vcScholar 2008-09-09 04:47:43
小弟我在做网络发送数据时,有11种数据可发送的数据,每一种数据的发送对应一个复选框。
在发送数据时,首先需要判断那种数据的复选框被选中,然后进行发送,可同时发送多个业务数据。其代码如下:
if (m_check1 && !m_check2 && !m_check3 && !m_check4 && !m_check5 && !m_check6
&& !m_check7 && !m_check8 !m_check9 && !m_check10 && !m_check11)
{
MessageBox("您选择了第一个!");
。。。。。。。。。。。。
return;
}
else if (!m_check1 && m_check2 && !m_check3 && !m_check4 && !m_check5 && !m_check6
&& !m_check7 && !m_check8 !m_check9 && !m_check10 && !m_check11)
{
MessageBox("您选择了第二个!");
。。。。。。。。。。。。
return;
}
如果这样判断那我需要判断2的11次方2048次。。。。。。。 这程序就永远都坐不下去
请问各位大侠有什么好的方法来解决这个问题,非常简洁的获得各个复选框的状态。判断所要发送的数据是哪一种即可。
...全文
175 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ok1234567 2008-09-10
  • 打赏
  • 举报
回复
如果你是组合发送(根据不同的条件,组合不可拆分的信息),确实够头疼的
但是也有相应的算法可以适当简化,定义一个WORD,有16位,首先判断置位
然后根据WORD 值判断,代码看起来会简化许多
WORD w=0;
if(m_check1) w |= 0x0001;
if(m_check2) w |= 0x0002;
if(m_check3) w |= 0x0004;
....
switch(w)
{
...
}
pornographer 2008-09-09
  • 打赏
  • 举报
回复
你看你要发的消息能组合下么??
blackcat242 2008-09-09
  • 打赏
  • 举报
回复
在循环里面判断不就行啦
cnzdgs 2008-09-09
  • 打赏
  • 举报
回复
多个同时选中你打算怎么办?

控件可以定义为数组,用循环创建,用循环判断。
zoulie 2008-09-09
  • 打赏
  • 举报
回复
哪有这么复杂的阿,参考楼上的
blackcat242 2008-09-09
  • 打赏
  • 举报
回复
11个复选框,做个数组,遍历一遍,你就知道那些复选框被选了

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧