代码之家  ›  专栏  ›  技术社区  ›  Chris Karcher

以编程方式选择MFC单选按钮

  •  3
  • Chris Karcher  · 技术社区  · 16 年前

    初始化对话框时,我想选择窗体上的一个单选按钮。我看不到使用类向导将控制变量关联起来的方法,就像通常使用cButton、cComboBox等那样。

    而且,它也不像一个cradiobutton类那样存在。

    如何选择几个单选按钮中的一个?

    5 回复  |  直到 6 年前
        1
  •  7
  •   moswald Jarod42    16 年前

    单选按钮和复选按钮只是按钮。使用cButton控件并使用getcheck/setcheck。

        2
  •  18
  •   ChrisN    6 年前

    使用 CWnd::CheckRadioButton 设置“选择一个组中的一个按钮”和 CWnd::GetCheckedRadioButton 检索所选按钮的ID。一定要在对话框对象上调用这些方法,而不是任何单选按钮对象。

        3
  •  6
  •   Chris Karcher    16 年前

    按照莫斯所说的,以下是成功的诀窍:

    CButton* pButton = (CButton*)GetDlgItem(IDC_RADIOBUTTON);
    pButton->SetCheck(true);
    
        4
  •  0
  •   Gargo    12 年前
    void CMyDlg::DoDataExchange(CDataExchange* pDX)
    {
      ...
      DDX_Radio(pDX, IDC_RADIO1, m_Radio);
      ...
    }
    

    但这是向导生成的

        5
  •  0
  •   noamt CoderYL    7 年前

    您可以使用这一行:

    ::SendMessage(GetDlgItem(IDC_RADIO1)->m_hWnd, BM_SETCHECK, BST_CHECKED, NULL);