MFC(十二)多个对话框

news2024/9/24 7:25:28

我们来制定多个对话框,每个对话框都有不同的功能,单击下一步,即可跳转到下一个对话框

1.新建一个启动按钮

2.在资源视图,Dialog里面,右键-->添加资源---->dialog====>选择IDD PROPPAGE_SMALL新建

属性页,改名为PROP01

3.打开工具箱,添加group box,group box控件的作用是建立了一个分组,分割了一部分窗口,然后把要放的控件放进去,作为一个组

4.添加radio button,单选框

5.添加静态文本,static text

6.添加list box,列表框

7.右键对话框,类向导,添加MFC类,类名要和资源视图的类名一样,

 8.右键radio button,添加变量,选择值,命名为 m_lang,它的值类型自动为bool,因为单选框的值为bool

9.我们干脆将值修改为数组,将 PROP01.h里面的声明修改为数组,BOOL m_lang[3];

10在PROP01.cpp中修改代码

PROP01::PROP01()
	: CPropertyPage(IDD_PROP01)
{
	memset(m_lang, 0, sizeof(m_lang));
}

为什么要设置为0呢,是因为要把它都设置为非选择状态 

11.在PROP01.cpp中声明

void PROP01::DoDataExchange(CDataExchange* pDX)
{
	CPropertyPage::DoDataExchange(pDX);
	DDX_Radio(pDX, IDC_RADIO1, m_lang[0]);
	DDX_Radio(pDX, IDC_RADIO2, m_lang[1]);
	DDX_Radio(pDX, IDC_RADIO3, m_lang[2]);
}

 12.在初始化函数中

BOOL PROP01::OnInitDialog()
{
	CListBox* plistbox=(CListBox*)GetDlgItem(IDC_LIST1);
	if (plistbox)
	{
		plistbox->AddString(_T("alibaba"));
		plistbox->AddString(_T("tecent"));
		plistbox->AddString(_T("huawei"));
	}
}

GetDlgItem可以根据指定控件的资源 ID,获取相应的句柄,并返回一个 CWnd 类对象

CWnd 类是 MFC 中非常重要的一个类,是所有窗口类的基类,提供了一系列成员函数,例如创建或销毁窗口、处理消息、设置窗口属性等函数,GetDlgItem是它的成员函数

13.按照上面的逻辑,我们再新建两个属性页,PROP02和PROP03,一个是复选框check box,一个是control box,

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/611181.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

「移动机器人行业应用分析」锂电行业

锂电池作为目前一种比较成熟和先进的电池,因其质量轻,储电量大等特点,受到了人们的广泛应用。中国作为全球最大的锂电生产和消费国,也是全球最大的电动汽车市场,随着“碳中和”这一目标的提出,锂离子电池技…

陶瓷板检测系统在工业质检领域的前景

陶瓷是一种重要的工业材料,广泛应用于建筑、电子、航空航天、医疗等领域。在生产过程中,陶瓷制品需要经过多道工序,其中检测环节是非常重要的一环。传统的陶瓷板检测方式主要依赖人工目视检测,效率低下且容易出错。随着人工智能技…

5年Java经验字节社招:15天3次面试,成功拿下Offer

背景经历 当时我工作近5年,明显感觉到了瓶颈期。具体来说,感觉自己用过很多框架、做过一些技术设计、也有过一些产出,但是从技术深度上感觉不足,到后期时做事也没有明显挑战,完全适应了公司节奏,说句不好听…

企业做直播如何选择好的直播平台?需要考虑哪些方面?

企业做直播如何选择好的直播平台?需要考虑哪些方面?我将从功能需求、可靠性与稳定性、用户体验、技术能与售后服务能力等方面进行综合考虑,帮助您做出明智的决策,或是说提供选型方面的参考。 企业在选择一家直播平台时应考虑以下因…

Vue.js 中的过滤器是什么?如何使用过滤器?

Vue.js 中的过滤器是什么?如何使用过滤器? 在 Vue.js 中,过滤器是一种以函数为基础的可重用代码片段,用于对数据进行格式化和处理。通过使用过滤器,我们可以在模板中对数据进行简单的转换,以便更好地呈现给…

chatgpt赋能python:Python在主函数中调用函数:提高代码可读性和降低重复性工作

Python在主函数中调用函数:提高代码可读性和降低重复性工作 在Python编程中,我们常常需要将代码分解成多个函数来实现各种功能。而主函数则是整个程序的执行入口。调用函数可以降低代码的复杂度和耦合性,并且使得代码更容易维护和重用。 基…

开源赋能 普惠未来|元遨/CARSMOS诚邀您参与2023开放原子全球开源峰会

元遨/CARSMOS定位于面向全球国际合作的平等自治的智能驾驶开源社区,秉持“走出去,引进来”的双向开放策略,通过互联网技术和开源社区模式相结合,建立和发展开源智能驾驶的科研、教育、产业化起步平台,包括开源软件、开…

centos7下svnserve方式部署subversion/SVN服务端(实操)

一般来说,subversion服务器可以用两种方式架设: 一种是基于svnserve,svnserve作为服务端; 一种是基于Apache,用apache作为服务端。 这里采用第一种方式部署。 执行如下命令,安装SVN。 yum install sub…

各跨境电商平台测评自养号环境方案

在电商领域,很多卖家和工作室总是在寻找可以提高销售量、提升产品评级的方法。有了我们这套独特的测评系统,这一切都可以变得简单许多。可以让你轻松地创建和管理大量高质量的账户,自主掌控真实买家的浏览、购买、下单、评价等行为&#xff0…

SpringBoot——原理(自动配置_案例(自定义阿里云文件上传starter))

本文同步更新于鼠鼠之家SpringBoot——原理(自动配置_案例(自定义阿里云文件上starter)) - 鼠鼠之家~我要怎么水够标题长度 starter定义 starter就是springboot中的起步依赖,虽然springboot已经提供了很多的起步依赖,但是在实际…

Yolov5s算法从训练到部署

文章目录 PyTorch GPU环境搭建查看显卡CUDA版本Anaconda安装PyTorch环境安装PyCharm中验证 训练算法模型克隆Yolov5代码工程制作数据集划分训练集、验证集修改工程相关文件配置预训练权重文件配置数据文件配置模型文件配置 超参数配置 测试训练出来的算法模型 量化转换算法模型…

云南LED、LCD显示屏系统建设,户外、室内广告大屏建设方案

LED大屏幕显示系统是LED高清晰数字显示技术、显示单元无缝拼接技术、多屏图像处理技术、信号切换技术、网络技术等科技手段的应用综合为一体,形成一个拥有高亮度、高清晰度、技术先进、功能强大、使用方便的大屏幕投影显示系统。通过大屏幕显示系统,可以…

SpringBoot1-案例以及快速启动

1.概述 简化Spring应用的初始搭建以及开发过程 原生开发SpringMVC程序过程 创建一个Maven工程,在pom打入坐标;配置类ServletConfig,初始化Spring容器和SpringMVC容器;创建配置类SpringConfig和SpringMVC配置类;至少要有…

NLP基础模型和注意力机制

3.1 基础模型 欢迎来到本次课程的最后一周的内容,同时这也是五门深度学习课程的最后一门,你即将抵达本课程的终点。 你将会学习seq2seq(sequence to sequence)模型,从机器翻译到语音识别,它们都能起到很大…

Azure OpenAI Service可以直接出题

使用模型和部署模型名称: Model name: text-davinci-003Deployment name: text-davinci In the Completions page, ensure your text-davinci deployment is selected and then in the Examples list, select Classify text. Replace all of the text in the pro…

通义听悟诞生背后,AI大模型打响应用第一枪

配图来自Canva可画 2023年伊始,ChatGPT的爆火出圈,迅速引发了业界对于生成式AI应用的关注,AI大模型的竞争更是愈演愈烈。 作为参与其中的重要玩家,阿里云先是在4月11日举行的阿里云峰会上,推出了通义千问大模型。紧接…

【Linux】生产者 消费者模型

文章目录 1.关于模型的理解为什么会存在超市?如何维护线程互斥与同步?生产消费模型 角色之间的关系 2. 交易场所的设计具体实现主函数的实现BlockQueue类的实现push ——生产pop——消费 细节问题误唤醒效率高 体现在哪里? 完整代码blockQueu…

Linux之动态库和静态库

文章目录 前言一、动态库和静态库概念二、库三、制作静态库1. 创建Makefile:2.打包库3.使用库总结注意库的安装 四、制作动态库总结 五、动静态库的加载总结 前言 一、动态库和静态库概念 在之前的文章中,介绍过动静态库的概念,因此这次我们…

微信小程序面试题汇总

HTML篇CSS篇JS篇Vue篇TypeScript篇React篇前端面试题汇总大全(含答案超详细,HTML,JS,CSS汇总篇)-- 持续更新前端面试题汇总大全二(含答案超详细,Vue,TypeScript,React,Webpack 汇总篇…

虎牙在全球 DNS 秒级生效上的实践2

博主介绍:✌全网粉丝4W,全栈开发工程师,从事多年软件开发,在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战、定制、远程,博主也曾写过优秀论文,查重率极低,在这方面…