-
这里不好理解的是选择项分组,按
Ctrl+D
快捷键,先设置按钮Tab顺序,对编排界面的元素Tab顺序,假Tab序号为1 ~ 3的分为一组,4 ~ 6分为一组,那么设置序号1的选择项属性杂项->组 = True
,设置序号4的选择项属性杂项->组 = True
,这样就可以进行分组了,各组选中项不互相干扰 -
选项分组是按照序号的顺序以及(控件属性
杂项->组
)进行分组的,例如Tab序号为3的属性组
为True
,那么Tab序号为3以及之后的控件直到下一个属性组
为True
的之前一个控件为一组
-
创建页面控件
-
在此Dlg中的MFC类中的
OnInitDialog()
中设置单选的默认选项
BOOL CObjInfoDlg1::OnInitDialog()
{
CDialogExt::OnInitDialog();
// TODO: 在此添加额外的初始化
((CButton*)GetDlgItem(IDC_RADIO4))->SetCheck(BST_CHECKED);//程序启动时默认为单选按钮1选中
return TRUE; // return TRUE unless you set the focus to a control
// 异常: OCX 属性页应返回 FALSE
}
- 添加
获取选中按钮
按钮的点击事件OnBnClickedButton2()
,获取选中项的信息,并进行自定义操作,多选操作同理
void CObjInfoDlg1::OnBnClickedButton2()
{
m_selInfo.SetWindowTextA(_T(""));
// TODO: 在此添加控件通知处理程序代码
if (::SendMessage(::GetDlgItem(m_hWnd, IDC_RADIO1), BM_GETCHECK, NULL, NULL) == BST_CHECKED)//如果选择了单选按钮1
{
MessageBox(_T("选择了单选按钮1!"), NULL, MB_ICONINFORMATION);//弹出提示
m_selInfo.SetWindowTextA(_T("选择了单选按钮1"));
}
else if (::SendMessage(::GetDlgItem(m_hWnd, IDC_RADIO4), BM_GETCHECK, NULL, NULL) == BST_CHECKED)//如果选择了单选按钮2
{
MessageBox(_T("选择了单选按钮2!"), NULL, MB_ICONINFORMATION);//弹出提示
m_selInfo.SetWindowTextA(_T("选择了单选按钮2"));
}
else if (::SendMessage(::GetDlgItem(m_hWnd, IDC_RADIO5), BM_GETCHECK, NULL, NULL) == BST_CHECKED)//如果选择了单选按钮2
{
MessageBox(_T("选择了单选按钮3!"), NULL, MB_ICONINFORMATION);//弹出提示
m_selInfo.SetWindowTextA(_T("选择了单选按钮3"));
}
if (::SendMessage(::GetDlgItem(m_hWnd, IDC_CHECK1), BM_GETCHECK, NULL, NULL) == BST_CHECKED)
{
MessageBox(_T("选择了多选按钮1!"), NULL, MB_ICONINFORMATION);//弹出提示
CString cs;
m_selInfo.GetWindowTextA(cs);
m_selInfo.SetWindowTextA(cs +_T("\n选择了多选按钮1"));
}
if (::SendMessage(::GetDlgItem(m_hWnd, IDC_CHECK2), BM_GETCHECK, NULL, NULL) == BST_CHECKED)
{
MessageBox(_T("选择了多选按钮2!"), NULL, MB_ICONINFORMATION);//弹出提示
CString cs;
m_selInfo.GetWindowTextA(cs);
m_selInfo.SetWindowTextA(cs + _T("\n选择了多选按钮2"));
}
if (::SendMessage(::GetDlgItem(m_hWnd, IDC_CHECK3), BM_GETCHECK, NULL, NULL) == BST_CHECKED)
{
MessageBox(_T("选择了多选按钮3!"), NULL, MB_ICONINFORMATION);//弹出提示
CString cs;
m_selInfo.GetWindowTextA(cs);
m_selInfo.SetWindowTextA(cs + _T("\n选择了多选按钮3"));
}
}
标签:控件,多选,selInfo,单选,按钮,cs,NULL
From: https://www.cnblogs.com/SpringBreath/p/16974067.html