循环8个check按钮ID判断哪几个是选中状态应该怎么做? 记忆当中好像是可以循环控件连续的ID来做的,但是我不会高手帮我看看如果要实现象下面的功能应该怎么做:for(i = 1;i <= 8;i++){ 判断CHECK_ID(i) IF(CHECK_ID(i)选中) {} else {}} 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 UINT nID[8];for(int n=0; n<8; n++){CButton* pBtn = (CButton*)GetDlgItem(nID[n]);if(pBtn->GetCheck()==BST_CHECKED) //选中{//...}else{//...}} 把8个CheckBox的ID放在1个数组里面 long arrIDs[8] = {XX,XX,XX.......};用循环来判断哪些选中了for(i = 0;i < 8;i++){ if( BST_CHECKED == ((CButton *)GetDlgItem(IDC_CHECK_DISCLOSURE))->GetCheck() ) { //选中; else { //未选中; }} 回:SoLike(思危)如果我的CHECK控件名字从CHECK1~CHECK8,那你方法里的UINT nID[8];是否就是我这八个控件的ID呢,如果是的话你的是从nID[0]开始的,我的是从CHECK[1]开始的不匹配啊,而且我运行也有错误aiguo26的 if( BST_CHECKED == ((CButton *)GetDlgItem(IDC_CHECK_DISCLOSURE))->GetCheck() )这句话及整个程序里都没看到long arrIDs[8],你怎么做的? 如果你的CHECK1~CHECK8的ID是连续的,则可以这样取:UINT unID = ID_CHECK1; //第一个for(int nInd = 0; nInd < 8; ++nInd) GetDlgItem(unID++); 假设你的ID为CHECK1 - CHECK8,且为连续for(int n=0; n<8; n++){CButton* pBtn = (CButton*)GetDlgItem(CHECK1+n);if(pBtn->GetCheck()==BST_CHECKED) //选中{//...}else{//...}} 格式转换 Socket通信问题,需要网络顶尖高手出招赐教。同时公布我的通信方案和一些心得,欢迎新手参与. 如何让繁体系统下显示简体和繁体 那位用过RasGetEntryProperties和RasSetEntryProperties两个函数?帮忙看看我的代码错在那里了? 怎样将我的贴子提前? 请教atl写的com在浏览器上的使用问题 怎么获得设备改变的消息(高手请进) 跨越internet访问COM+组件 ◆→反思:中国人真的比外国人聪明吗?错! 请问我的dll 在pb下调用为何不成功,告诉我无法调用这个外部函数 窗体的简单问题 如何检测USB设备的插入和拔出,并读设备中的信息内容?
for(int n=0; n<8; n++)
{
CButton* pBtn = (CButton*)GetDlgItem(nID[n]);
if(pBtn->GetCheck()==BST_CHECKED) //选中
{
//...
}
else
{
//...
}
}
用循环来判断哪些选中了for(i = 0;i < 8;i++)
{
if( BST_CHECKED == ((CButton *)GetDlgItem(IDC_CHECK_DISCLOSURE))->GetCheck() )
{
//选中;
else
{
//未选中;
}
}
如果我的CHECK控件名字从CHECK1~CHECK8,那你方法里的UINT nID[8];是否就是我这八个控件的ID呢,如果是的话你的是从nID[0]开始的,我的是从CHECK[1]开始的不匹配啊,而且我运行也有错误
aiguo26的 if( BST_CHECKED == ((CButton *)GetDlgItem(IDC_CHECK_DISCLOSURE))->GetCheck() )这句话及整个程序里都没看到long arrIDs[8],你怎么做的?
for(int nInd = 0; nInd < 8; ++nInd)
GetDlgItem(unID++);
{
CButton* pBtn = (CButton*)GetDlgItem(CHECK1+n);
if(pBtn->GetCheck()==BST_CHECKED) //选中
{
//...
}
else
{
//...
}
}