68336016 发表于 2013-3-27 09:27:47

在VC中,IDC_CHECK1-IDC_CHECK20多个按钮怎么快速设置?

本帖最后由 68336016 于 2013-3-27 09:30 编辑

界面上有20个CheckBox,ID号从IDC_CHECK1到IDC_CHECK20(对应的整型数值未必连续),每个CheckBox对应的状态来自一个变量的每一位。
我现在是将变量移位求出对应位置的值,然后设置相应的CheckBox,有20个CheckBox我就得写20次类似的语句。

有没有什么宏操作,跟一个变量联系起来,生成IDC_CHECK1到IDC_CHECK20?                                        ((CButton*)(GetDlgItem(IDC_CHECK1)))->SetCheck((dwGetVal>>0) & 0x01);
                                        ((CButton*)(GetDlgItem(IDC_CHECK2)))->SetCheck((dwGetVal>>1) & 0x01);
                                        ((CButton*)(GetDlgItem(IDC_CHECK3)))->SetCheck((dwGetVal>>2) & 0x01);
                                        ((CButton*)(GetDlgItem(IDC_CHECK4)))->SetCheck((dwGetVal>>3) & 0x01);
                                        ((CButton*)(GetDlgItem(IDC_CHECK5)))->SetCheck((dwGetVal>>4) & 0x01);
                                        ((CButton*)(GetDlgItem(IDC_CHECK6)))->SetCheck((dwGetVal>>5) & 0x01);
                                        ((CButton*)(GetDlgItem(IDC_CHECK7)))->SetCheck((dwGetVal>>6) & 0x01);
                                        ((CButton*)(GetDlgItem(IDC_CHECK8)))->SetCheck((dwGetVal>>7) & 0x01);
                                        ((CButton*)(GetDlgItem(IDC_CHECK9)))->SetCheck((dwGetVal>>8) & 0x01);
                                                                              ……
页: [1]
查看完整版本: 在VC中,IDC_CHECK1-IDC_CHECK20多个按钮怎么快速设置?