MFC-复选框单选按钮用法

复选框:

判断是否被选中:

方法1:
利用CButton类获取指向复选框按钮的指针,然后来操作它

//获取指向复选框按钮的指针
    CButton* pBtn = (CButton*)GetDlgItem(IDC_CHECK);

    //被选中返回1
    if (pBtn->GetCheck())
    {
        AfxMessageBox(_T("复选框被选中了"));
    } 
    else
    {
        AfxMessageBox(_T("复选框取消选中了"));
    }
    //设置选中状态pBtn->SetCheck(1)

方法2:
利用 CWnd类的成员函数IsDlgButtonChecked

CWnd* pWnd = (CWnd*)GetDlgItem(IDC_CHECK);
    if (pWnd->IsDlgButtonChecked(IDC_CHECK) == BST_CHECKED)
    {
        AfxMessageBox(_T("复选框被选中了"));
    } 
    else
    {
        AfxMessageBox(_T("复选框取消选中了"));
    }

方法3:

    //发送消息,如果被选中返回1
     BOOL bCheck = ::SendMessage(GetDlgItem(IDC_CHECK)->m_hWnd, BM_GETCHECK, 0, 0); if (bCheck) { AfxMessageBox(_T("复选框被选中了")); } else { AfxMessageBox(_T("复选框取消选中了")); } //::SendMessage(GetDlgItem(IDC_CHECK)->m_hWnd, BM_SETCHECK,1, 0);

方法4:
与控件关联一个布尔变量

    if (m_IsChecked)
    {
        AfxMessageBox(_T("复选框被选中了"));
    } 
    else
    {
        AfxMessageBox(_T("复选框取消选中了"));
    }

方法5:
与控件关联一个控件变量

    if (m_checkbox.GetCheck())
    {
        AfxMessageBox(_T("复选框被选中了"));
    }
    else
    {
        AfxMessageBox(_T("复选框取消选中了"));
    }
    //m_checkbox.SetCheck(1);

单选框:

判断是否被选中:

方法1:

void CMFCTESTDlg::OnBnClickedRadio()
{
    // TODO: 在此添加控件通知处理程序代码
    CButton* pBtn = (CButton*)GetDlgItem(IDC_RADIO);
    if (pBtn->GetCheck())
    {
        AfxMessageBox(_T("单选按钮1被选中了"));
    }

}


void CMFCTESTDlg::OnBnClickedRadio2()
{
    // TODO: 在此添加控件通知处理程序代码
    CButton* pBtn = (CButton*)GetDlgItem(IDC_RADIO2);
    if (pBtn->GetCheck())
    {
        AfxMessageBox(_T("单选按钮2被选中了"));
    }
}

方法2:

void CMFCTESTDlg::OnBnClickedRadio()
{
    // TODO: 在此添加控件通知处理程序代码

    //发送消息,如果被选中返回1
    BOOL bCheck = ::SendMessage(GetDlgItem(IDC_RADIO)->m_hWnd, BM_GETCHECK, 0, 0); if (bCheck) { AfxMessageBox(_T("单选按钮1被选中了")); } } void CMFCTESTDlg::OnBnClickedRadio2() { // TODO: 在此添加控件通知处理程序代码 BOOL bCheck = ::SendMessage(GetDlgItem(IDC_RADIO2)->m_hWnd, BM_GETCHECK, 0, 0); if (bCheck) { AfxMessageBox(_T("单选按钮2被选中了")); } } 

你可能感兴趣的:(mfc,复选框,单选框)