M F C(七)对话框

news2024/12/24 2:06:35

概念

与用户进行交互的窗口,它的顶级父类为CWND,对话框上面可以有各种控件,控件也是继承自CWND

基本控件功能对应的类
静态文本框显示文本,一般不能接收输入信息CStatic
图像控件显示图标、方框、和图元文件CStatic
编辑器编辑正文Cedit
复选框Cbutton
单选框只能选择一项Cbutton
滚动条Cscrollbar

实战

1.新建项目-->对话框,项目名称--->MFCapplication1

2右键Dialog====>选择插入Dialog==>新插入了IDD_DIALOG1,查看它的属性ID,并记住它

3.右键-->添加MFC类--->Cbingodialog---->这样在解决资源方案管理器里就有了这样一个头文件

头文件里面有Cbingodialog这个类

4.资源视图-->MFCapplication1.rc---->Dialog----->IDD_MFCAPPLICATION1_DIALOG--->点击确定按钮

4.添加模态对话框,模态对话框就是最顶部的窗口,必须关闭它才能操作其他窗口

5.在确定按钮里添加模态对话框代码

void CMFCApplication1Dlg::OnBnClickedOk()
{
    CbingoDialog dlg;
    dlg.DoModal();
}

6.生成非模态对话框

首先声明一个全局变量,为什么声明一个全局变量呢,因为showwindow函数不会阻塞在这里,会一直执行下去,当指向到末尾时,dlg如果为局部变量,就会被销毁,这样,这个窗口就会被销毁,得不到我们想要的结果,而模态的DOmodul会阻塞在那里,所以dlg可以设置为局部变量

CbingoDialog dlg;
void CMFCApplication1Dlg::OnBnClickedOk()
{ 
	dlg.ShowWindow(SW_SHOW);
}

运行后,报了一个错误,错误定位在这里

 我们将鼠标移到m_hwnd上面,发现它的值为null,所以我们要在初始化的时候,将它创建

dlg.Create(IDD_DIALOG1, this);

这样就创建了一个非模态对话框 

用法

模态对话框主要是对话框如果会改变本体的属性,就用模态,比如调整主体窗口的颜色、字体样式,因为这时候必须先改变保存才能退出,而非模态一般用作帮助按钮、输出窗口、展示窗口这些

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

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

相关文章

公网SSH远程连接Termux – 电脑使用安卓Termux 「无需公网IP」

文章目录 1.安装ssh2.安装cpolar内网穿透3.远程ssh连接配置4.公网远程连接5.固定远程连接地址 转载自cpolar极点云的文章:公网SSH远程连接Termux – 电脑使用安卓Termux 「无需公网IP」 使用安卓机跑东西的时候,屏幕太小,有时候操作不习惯。不…

【Linux】crontab 定时任务

当你需要在Linux系统中定期执行某些任务时,crontab(cron table)是一个非常有用的工具。它允许你根据预定的时间表创建和管理定时任务。 一、从守护进程到crond进程1.1 Linux 守护进程1.2 任务调度进程crond 二、 crontab 详细介绍2.1 crontab…

AI狂飙突进,存力需作先锋

5月30日,在2023中关村论坛成果发布会上,《北京市加快建设具有全球影响力的人工智能创新策源地实施方案(2023-2025年)》正式发布。《实施方案》要求,支持创新主体重点突破分布式高效深度学习框架、大模型新型基础架构等…

chatgpt赋能python:Python列表数据相加的完全指南

Python列表数据相加的完全指南 Python中的列表是一种非常方便的数据结构,它允许我们存储和处理一组数据。在这篇文章中,我们将介绍如何在Python中使用列表来进行数据相加的操作,并提供一些实用的技巧和建议。如果你正在寻找Python中关于列表…

linux安装docker并设置国内镜像仓库

前置条件 该方案为centos上安装docker,其他版本linux请参照官方文档:https://docs.docker.com/engine/install/centos/该linux系统没有安装过docker,或者已卸载docker #卸载docker yum remove docker \docker-client \docker-client-latest…

springboot整合kafka入门

kafka基本概念 producer: 生产者,负责发布消息到kafka cluster(kafka集群)中。生产者可以是web前端产生的page view,或者是服务器日志,系统CPU、memory等。 consumer: 消费者,每个consumer属于一个特定的c…

Git提交代码报错 Push failed unable to access

目录 场景 环境: Git配置 场景 Push failed unable to access https://github.com/1790753131/remotRepository3.git/: Failed to connect to github.com port 443 after 21114 ms: Couldnt connect to server Push failed unable to ac…

A JavaScript error occurred in the main processUncaught Exception

A JavaScript error occurred in the main processUncaught Exception: Error: getaddrinfo ENOTFOUND rfw.jnsii.com at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:60:26) 💧 记录一下今天遇到的 b u g \color{#FF1493}{记录一下今天遇到的bug} 记录一…

开放接口签名(Signature)实现

开放接口签名(Signature)实现方案 既然是对外开放,那么调用者一定没有我们系统的Token,就需要对调用者进行签名验证,签名验证采用主流的验证方式,采用Signature 的方式。 字段 类型 必传 说明 appid String 是 应用id tim…

windows server安全设置

Windows服务器安全策略设置 1. Windows服务器安全策略设置 操作系统关闭不必要的服务如smartd(一个守护进程(帮助程序)、Print Spoole(管理所有本地和网络打印队列及控制所有打印工作),操作系统关闭默认盘…

名著《MySQL必知必会》讲了个啥

文章目录 第一章 了解SQL第二章 检索数据第三章 排序第四章 过滤数据第五章 高级数据过滤第六章 多表查询内连接(交集)外连接多表连接UNIONUNION ALL 第七章 单行函数日期和时间函数获取日期、时间日期与时间戳的转换获取月份、星期、星期数、天数等函数…

chatgpt赋能python:Python中创建空列表的两种方法

Python中创建空列表的两种方法 在Python编程中,创建空列表是一项非常常见的任务。Python提供了两种主要的方法来创建一个空列表,分别是“中括号法”和“list()函数法”。本文将介绍这两种方法,它们的优缺点以及如何在你的代码中使用它们。 …

2023年5月Web3行业月度发展报告区块链篇 | 陀螺科技会员专享

5月,市场大部熊市与局部牛市并存,一方面,BRC-20与Meme币引领热点涨势,代表项目Ordinals与Pepe涨幅上千倍,相继引发比特币与以太坊拥堵,市场情绪高涨;另一方面,主流币种持续震荡&…

【终结】Plsql 监听失败+链接Oracle ORA-12545:因目标主机不存在

折腾我好久!翻阅千山万水也没有命中问题!今天我要公布于世!如何解决! 起因:服务器那边重启了我运行良好的主机导致上述问题! 感谢各位CSDN默默贡献的大神,是你们促进互联网的发展!…

无需魔法、无需账户!可免费直接使用微软新必应

大家好,我是校长。 如果你不会魔法上网,如果你没有 ChatGPT 账号,无法体验大语言模型生成式 AI ,别怕,我给大家推荐一个好的开源的应用站点,它可以让你体验一番。 前几天,我刷 GitHub 的时候&am…

Transformer工业部署落地!超越ResNet、CSWin(附源码)

关注并星标 从此不迷路 计算机视觉研究院 公众号ID|ComputerVisionGzq 学习群|扫码在主页获取加入方式 论文地址:https://arxiv.org/pdf/2207.05501.pdf 计算机视觉研究院专栏 作者:Edison_G 一种用于在现实工业场景中高效部署的下…

读改变未来的九大算法笔记02_数据库

1. 基础思想 1.1. 预写日志记录 1.2. 两阶段提交 1.3. 关系数据库 2. 两个事实 2.1. 计算机程序会崩溃 2.1.1. 当一个程序崩溃时,它会丢掉所有正在处理的东西 2.1.2. 只有安放在计算机文件系统中的信息会得到保存 2.1.3. 崩溃相当宽泛:包括任何可…

助力智能制造数字化转型 | 5.31 IoTDB 中航机载制造行业客户分享会回顾

5 月 31 日,IoTDB & 中航机载智能制造实践分享会在线上举办。IoTDB 与中航机载的两位产品、技术专家,结合 EMQ 与深南电路的两位技术大拿,针对制造行业智能化痛点带来了一场方案实践分享,与线上直播中上千人次的智能制造关注者…

专访瑞声科技应用软件开发总监陆其明:当一名老兵决定重新上路

编者按:从互联网公司到智能终端解决方案公司,陆其明的这次转变可能难以被人理解。但经济大环境的影响和个人的技术困境还是让他义无反顾地走向一个未知的世界。正如黄仁勋日前所言,“撤退”对聪明人来说并不容易。然而,战略性的撤…

刷题记录:一维前缀和 | leetcode-2559. 统计范围内的元音字符串数 2023/6/2

leetcode-2559. 统计范围内的元音字符串数 这道题的思路并不难找,一开始我有点看出是一维前缀和问题,但没有很确定,因此也就没有直接从这个思路走下去。还是想着先做暴力版本的吧! 这是暴力版本的代码: class Solut…