MFC中Radio Button互斥操作

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MFC中Radio Button互斥操作相关的知识,希望对你有一定的参考价值。

参考技术A 概述

Radio Button通常成组使用,组内是互斥的。

如何设置分组

(1)Ctrl+D

(2)依次点击Radio Button完成Tab键顺序设置

(3)将一组内首个Radio Button的Group属性设置成TRUE,其他为FALSE。 系统每检测到一个Group属性为TRUE的Radio Button,都会认为是一个新分组。

操作

在OnInitDialog()中设置RadioButton的初始选中状态,只需将每组选中的Radio Button进行设置,组内其余的Radio Button是互斥不选中的。

                ((CButton *)GetDlgItem(IDC_RADIO1))->SetCheck(TRUE); //选上

通过Radio Button点击事件来设置新Radio Button状态,依然是只操作组内被选中的Radio Button即可。

RadioButton

作用:RadioButton可以构建一组单选按钮;一组互斥的单选按钮必须在一个RadioGroup中(多个按钮中单选一个出来

使用:

<RadioGroup
        android:id="@+id/radio_group"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >

        <RadioButton
            android:id="@+id/radio_iphone"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="iPhone" />

        <RadioButton
            android:id="@+id/radio_ophone"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="oPhone" />

        <RadioButton
            android:id="@+id/radio_phone"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Phone" />
    </RadioGroup>

代码--单击RadioButton时触发:

radioGroup.setOnCheckedChangeListener(new OnCheckedChangeListener() {

            @Override
            public void onCheckedChanged(RadioGroup group, int checkedld) {
                switch (checkedld) {
                case R.id.radio_iphone:
                    Toast.makeText(getApplicationContext(), "iphone",Toast.LENGTH_LONG ).show();
                    break;
                case R.id.radio_ophone:
                    Toast.makeText(getApplicationContext(), "ophone",Toast.LENGTH_LONG ).show();
                    break;
                case R.id.radio_phone:
                    Toast.makeText(getApplicationContext(), "phone",Toast.LENGTH_LONG ).show();
                    break;
                default:
                    break;
                }

            }
        });

单击其他按钮时,获取单选了哪个值:

java代码中用RadioGroup的getCheckedRadioButtonId()获取选中选项的ID。例如在其他其他按钮中需要判断单选组里使用了哪个单选按钮:

button1.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                if (radioGroup.getCheckedRadioButtonId() ==R.id.radio_iphone) {
                // 这里填写处理代码
                    }
                }else {
             // 这里填写处理代码
        });

以上是关于MFC中Radio Button互斥操作的主要内容,如果未能解决你的问题,请参考以下文章

MFC radio button如何默认选中

MFC radio button如何默认选中

MFC中, 如何设置我想要选择的Radio Button项 - How to set the selection by code.

MFC窗口应用程序中如何向Group box中添加多个radio button?

MFC关于Radio Button控件的问题 高分悬赏!!敬请指点

VS2010 radio button 起始默认选中