现在的位置: 首页 > 综合 > 正文

关于Ratio Button

2013年01月22日 ⁄ 综合 ⁄ 共 1315字 ⁄ 字号 评论关闭

      VC++通用控件Ratio Button,其Group属性很有意思,假如在对话框上拖了几个Ratio,将第一个Ratio设为Group属性,则自此Ratio以下的所有Ratio将被视为一组,即在此组中只能选中一个,直到遇到下一个具有Group属性的Ratio,在一组中的Ratio们若要关联变量的话(vale类型的)就只能关联一个了;不过,这里还有个问题,就是这个自具有Group属性Ratio而下的所有Ratio该如何理解呢,这个当然直观理解是拖放的先后了,但是以后要在已有的一个Group里再加个Ratio又该如何?你可能会猜测,应该是按他们ID值的大小来排吧,我也本是以为如此,但还是想当然地错了,其实他是按资源描述文件(rc文件)里的类似脚本语言排列的,如我的工程里面

BEGIN
    CONTROL         "全波片",IDC_FULL,"Button",BS_AUTORADIOBUTTON | WS_GROUP,
                    29,22,34,9
    CONTROL         "半波片",IDC_HALF,"Button",BS_AUTORADIOBUTTON,73,22,34,9
    CONTROL         "1/4波片",IDC_QUATER,"Button",BS_AUTORADIOBUTTON,29,42,
                    37,9
    CONTROL         "未知波片",IDC_UNKNOWN,"Button",BS_AUTORADIOBUTTON,73,42,
                    41,9
    CONTROL         "532nm",IDC_532,"Button",BS_AUTORADIOBUTTON | WS_GROUP,
                    35,83,36,9
    CONTROL         "1064nm",IDC_1064,"Button",BS_AUTORADIOBUTTON,75,83,35,9
    GROUPBOX        "波片类型",IDC_STATIC1,8,5,132,55
    GROUPBOX        "波长选择",IDC_STATIC2,8,65,132,36
    GROUPBOX        "测量选项",IDC_STATIC,7,110,133,72
    CONTROL         "开始",IDC_BEGIN,"Button",BS_OWNERDRAW | WS_TABSTOP,26,
                    148,41,14
    CONTROL         "起偏器与检偏器已平行",IDC_bHaveParalleled,"Button",
                    BS_AUTOCHECKBOX | WS_TABSTOP,26,127,88,10
END

上面CONTROL开头的且有BS_AUTORADIOBUTTON属性的就是Ratio,其实VC是按这里的排列顺序来决定Group的布局的(由上而下)!

抱歉!评论已关闭.