首页 > 其他分享 >单选与多选控件的简单应用

单选与多选控件的简单应用

时间:2022-12-11 18:23:16浏览次数:36  
标签:控件 多选 selInfo 单选 按钮 cs NULL

  • 这里不好理解的是选择项分组,按Ctrl+D快捷键,先设置按钮Tab顺序,对编排界面的元素Tab顺序,假Tab序号为1 ~ 3的分为一组,4 ~ 6分为一组,那么设置序号1的选择项属性杂项->组 = True,设置序号4的选择项属性杂项->组 = True,这样就可以进行分组了,各组选中项不互相干扰

  • 选项分组是按照序号的顺序以及(控件属性杂项->组)进行分组的,例如Tab序号为3的属性True,那么Tab序号为3以及之后的控件直到下一个属性True的之前一个控件为一组

  1. 创建页面控件
    image

  2. 在此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
}
  1. 添加获取选中按钮按钮的点击事件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

相关文章

  • Servlet与表单数据交互(如文本框、单选按钮、复选框、下拉列表等)
    【本文目录】​​......
  • TabControl控件的简单使用-添加tab
    1、首先创建一个MFC对话框框架,在对话框资源上从工具箱中添加上一个TabControl控件,根据需要修改一下属性,然后右击控件,为这个控件添加一个变量,将此控件跟一个CTabCtrl类变......
  • 为文本框控件添加滚动条-CEdit
    在VS2015环境下操作创建文本框控件设置控件属性效果......
  • 重走Android路 之 挑几个基本控件玩玩(上卷)
    LZ-Says:冬瓜嫌弃LZ这个系列,说他都能看懂,哎呦我去,这个给人气的呀~真想把冬瓜剁吧剁吧熬成粥~高考了,祝愿各位学子功成归来~!!!基本控件使用Android为我们提供了很多UI样式,但是在......
  • 【Chart控件】折线图
    多Y轴显示效果: <Windowx:Class="Chart.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://sche......
  • 【Chart控件】开篇
    WPF没有系统的Chart控件,因此要使用第三方的chart控件库1、在Nuget中添加DotNetProjects.DataVisualization.Toolkit。Chart控件结构        ......
  • 【Chart控件】饼状图
    WPF没有系统的Chart控件,因此要使用第三方的chart控件库1、在Nuget中添加DotNetProjects.DataVisualization.Toolkit。Chart控件结构饼状图效果  xaml<Window......
  • MFC--StaticText静态文本框控件
    CStatic类提供了一个Windows静态控件的性能。一个静态控件用来显示一个文本字符串、框、矩形、图标、光标、位图或增强的图元文件。它可以被用来作为标签,框,或用来分隔其它的......
  • WinForm(三)揭开可视化控件的面纱
    WinForm所见即所得的UI设计框架,开发效率确实有所提升,同时降低了编程门槛,让WinForm更普及。拖拖拽拽就能设计出一个界面,那么我们拖拽的这些东西是什么?它们是什么原理?。......
  • WinForm(三)揭开可视化控件的面纱
    WinForm所见即所得的UI设计框架,开发效率确实有所提升,同时降低了编程门槛,让WinForm更普及。拖拖拽拽就能设计出一个界面,那么我们拖拽的这些东西是什么?它们是什么原理?。......