当前位置: 首页 > article >正文

MFC - 常用基础控件

前言

  • 各位师傅大家好,我是qmx_07,今天给大家讲解MFC中的基础控件
    在这里插入图片描述

基础控件

单选按钮

绘图准备:
在这里插入图片描述

  • 调整窗口大小,设置 radio button 单选按钮
  • button 按钮

在这里插入图片描述

  • 设置单选按钮变量分别为 m_BN1、 m_BN2、m_BN3
void CMFCApplication3Dlg::OnBnClickedButton1()
{
	// TODO: 在此添加控件通知处理程序代码
	//单选按钮
	if (m_BN1.GetCheck())
	{
		MessageBox(L"1", L"提示选中", MB_OK);
	}
	else if (m_BN2.GetCheck())
	{
		MessageBox(L"2", L"提示选中", MB_OK);
	}
	else if (m_BN3.GetCheck())
	{
		MessageBox(L"3", L"提示选中", MB_OK);
	}
}
  • GetCheck()函数用于 获取点击状态
  • 通过if选择的方式,进行获取
    画图演示

在这里插入图片描述

多选按钮

绘图准备
在这里插入图片描述

  • 调整窗口大小,设置Check Box多选按钮
  • 设置Button按钮
    在这里插入图片描述
  • 设置变量名为m_CH1、m_CH2、m_CH3
void CMFCApplication1Dlg::OnBnClickedButton1()
{
	// TODO: 在此添加控件通知处理程序代码
	//多选按钮
	if (m_CH1.GetCheck())
	{
		MessageBox(L"1", L"提示选中", MB_OK);
	}
	if (m_CH2.GetCheck())
	{
		MessageBox(L"2", L"提示选中", MB_OK);
	}
	if (m_CH3.GetCheck())
	{
		MessageBox(L"3", L"提示选中", MB_OK);
	}
}
  • 利用if 每一个点击按钮,都能被响应
    画面演示:
    请添加图片描述

静态文本

  • 绘图准备
  • 调整窗口大小,设置 static text 静态文本
  • 设置 button按钮
void CMFCApplication1Dlg::OnBnClickedButton2()
{
	// TODO: 在此添加控件通知处理程序代码
	HWND hstatic = ::GetDlgItem(m_hWnd, IDC_STATIC);
	::SetWindowText(hstatic, L"qmx_07");
}
  • 获取静态文本控件ID,更改文本内容
    画面演示:
    请添加图片描述

组合框

  • 绘图准备
    在这里插入图片描述
  • 调整窗口大小,设置 Combo box 组合框
  • 设置button 按钮
    在这里插入图片描述
  • 设置变量 m_Combo
    在这里插入图片描述

右键 类向导 -> 虚函数 -> 选择 OnInitDialog()

BOOL CMFCApplication1Dlg::OnInitDialog()
{
	CDialogEx::OnInitDialog();

	// 将“关于...”菜单项添加到系统菜单中。

	// IDM_ABOUTBOX 必须在系统命令范围内。
	ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
	ASSERT(IDM_ABOUTBOX < 0xF000);

	CMenu* pSysMenu = GetSystemMenu(FALSE);
	if (pSysMenu != nullptr)
	{
		BOOL bNameValid;
		CString strAboutMenu;
		bNameValid = strAboutMenu.LoadString(IDS_ABOUTBOX);
		ASSERT(bNameValid);
		if (!strAboutMenu.IsEmpty())
		{
			pSysMenu->AppendMenu(MF_SEPARATOR);
			pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
		}
	}

	// 设置此对话框的图标。  当应用程序主窗口不是对话框时,框架将自动
	//  执行此操作
	SetIcon(m_hIcon, TRUE);			// 设置大图标
	SetIcon(m_hIcon, FALSE);		// 设置小图标

	// TODO: 在此添加额外的初始化代码
	m_Combo.AddString(L"北京");
	m_Combo.AddString(L"上海");
	m_Combo.AddString(L"广州");
	m_Combo.AddString(L"深圳");
	m_Combo.SetCurSel(0);
	return TRUE;  // 除非将焦点设置到控件,否则返回 TRUE
}
  • AddString()添加数据
  • SetCurSel() 设置当前索引
  • 在OnInitDialog 的最下方,添加组合框数据,设置当前位置为0索引

void CMFCApplication1Dlg::OnBnClickedButton4()
{
	// TODO: 在此添加控件通知处理程序代码
	int Cur = m_Combo.GetCurSel();
	CString csTemp;
	csTemp.Format(L"%d", Cur);
	MessageBox(csTemp, L"标题");
}
  • GetCurSel获取当前索引
  • 获取索引 弹出信息
    画面演示:
    请添加图片描述

总结

  • 我们介绍了单选按钮、多选按钮、静态文本、组合框的基本使用

http://www.kler.cn/news/325501.html

相关文章:

  • 高防服务器如何抵御网络攻击?
  • RT-DETR改进策略:BackBone改进|PoolFormer赋能RT-DETR,视觉检测性能显著提升的创新尝试
  • 11.C++程序中的常用函数
  • 【含文档】基于Springboot+Vue的个性化推荐电商平台(含源码+数据库+lw)
  • 【网络安全】公钥密码体制
  • 关于QSizeGrip在ui界面存在布局的情况下的不显示问题
  • 绿色新纪元:光伏技术飞跃与能源体系重塑
  • keil仿真||示波器的使用
  • unixODBC编程(三)查询数据库表中的数据
  • LangChain:构建复杂 NLP 应用的框架
  • ENV | docker 安装使用(简单实操版)
  • Llama 3.2来了,多模态且开源!AR眼镜黄仁勋首批体验,Quest 3S头显价格低到离谱
  • C语言介绍
  • Object Pascal 过程与函数
  • Ubuntu网卡配置
  • rabbitMQ 简单使用
  • 23中设计模式,以及三种常见的设计模式demo
  • 使用::selection改变文字被选中后的颜色
  • 深圳mes制造系统的主要功能
  • WIFI密码默认显示
  • OpenAI员工流失的背后:地盘争夺、倦怠、薪酬要求
  • 大模型+AIGC技术实操:GPT 大模型部署使用 AIGC实战落地方案
  • LeetCode讲解篇之3. 无重复字符的最长子串
  • springboot异常(三):异常处理原理
  • 超详细的华为ICT大赛报名流程
  • golang学习笔记32——哪些是用golang实现的热门框架和工具
  • Android Webview和ScrollView冲突和WebView使用总结
  • 数仓建模:DataX同步Mysql数据到Hive如何批量生成建表语句?| 基于SQL实现
  • cuda程序编译流程
  • Uniapp 跨域