我在界面上要动态的生成一些Radio类型的Button。这样的生成出来的控件,如何设置几个是一组的,并且如何才能把选定的值取出来?

解决方案 »

  1.   

    设置group属性,一组只有一个设置.组之间的界线是tab order
      

  2.   

    按照TAB顺序,第一个设置group属性。后面的不要设置,如果需要新建一组,那么将第一个设置group属性就行了。
      

  3.   

    CRect r(0,0,100,50);
    bn11.Create("11",WS_CHILD|WS_VISIBLE|BS_AUTORADIOBUTTON|WS_GROUP,r,this,10011);
    r.top += 50;
    r.bottom += 50;
    bn12.Create("12",WS_CHILD|WS_VISIBLE|BS_AUTORADIOBUTTON,r,this,10012);
    r.top += 50;
    r.bottom += 50;
    bn21.Create("21",WS_CHILD|WS_VISIBLE|BS_AUTORADIOBUTTON|WS_GROUP,r,this,10021);
    r.top += 50;
    r.bottom += 50;
    bn22.Create("22",WS_CHILD|WS_VISIBLE|BS_AUTORADIOBUTTON,r,this,10022);最后一个参数是我随便写的,程序大了会有问题的
      

  4.   

    同意楼上,要不SendDlgItemMessage(nID,BM_GETCHECK);
      

  5.   

    ID号相邻的是一组所以你可以更改ID号使它们相邻方法是找到它们ID号定义的地方直接修改,注意不要跟别的ID好冲突
      

  6.   

    这样分组的话就和生成的顺序有关了,如何能够以任意顺序生成控件,还能设置分组的属性?
    TAB的顺序是如何设定的?
      

  7.   

    那只要控制好ID号就可以了TAB顺序是按ID号来的,按TAB就转到下一个接受TAB键的相邻ID号