MFC 模态对话框退出机制的探究
一位读者问了这样一个问题:
”
如果我创建了一个可见的模态对话框,却对用户来说不可用。举个例子,假设我在程序中的其他位置收到一个事件,并且我从事件中调用模态 CDialog 上的 DestroyWindow。我注意到 OnDestroy 是在 CDialog 上调用的,但在将 WM_QUIT 消息发送到模态对话框的消息循环之前,DoModal 永远不会退出。这会导致什么问题?不幸的是,我目前还真的没有找到方法来避免这种情况。
”
实际上,我不确定这位读者具体想问的问题是什么。如前所述,问题是”这会导致什么问题”
但他在自己的问题中回答了这个问题:导致的问题是: “DoModal 永远不会退出,直到 WM_QUIT 消息发送到模态对话框的消息循环中为止。”
我猜想,他真正的问题是:”为什么销毁窗口不起作用?”。
然后是后续问题: “关闭模式对话框的正确方法是什么?”
这个问题的第一个问题是,它假设我知道 CDialog 是什么。从它的名字来看,我将假设这是一个用于管理对话框的 MFC 类。但是,您甚至不必知道,就可以回答仅根据 Win32 原则的第一个问题:
DestroyWindow 不是退出模态对话框的方式,而应该使用 EndDialog 退出模式对话框。
DestroyWindow 技术适用于非模态对话框。
但是,让我们从另一个角度来看这个问题,这就是我今天的观点:你有 MF C源代码。不要害怕阅读它。特别是因为我个人不使用 MFC,我甚至不知道使用 MFC 进行应用程序设计的基本原理,我一直都是在 Win32 上工作。因此,我不知道答案,但阅读 MFC 源代码的 15 分钟很快就揭示了销毁窗口不起作
相关文章:
MFC 模态对话框退出机制的探究
一位读者问了这样一个问题: ” 如果我创建了一个可见的模态对话框,却对用户来说不可用。举个例子,假设我在程序中的其他位置收到一个事件,并且我从事件中调用模态 CDialog 上的 DestroyWindow。我注意到 OnDestroy 是在 CDialog 上调用的,但在将 WM_QUIT 消息发送到模态对…...
Android13 framework添加关机接口
framework层修改: t0_sys/frameworks/base/core/api/current.txt method RequiresPermission(android.Manifest.permission.REBOOT) public void reboot(Nullable String);method public void rebootp();t0_sys/frameworks/base/core/java/android/os/IPowerManager…...
如何使用ArcGIS Pro为栅格图添加坐标信息
在某些时候,我们从网上获取的资源是一张普通的栅格图,没有任何的坐标信息,如果想要和带坐标信息的数据一起使用就需要先添加坐标信息,在GIS上,我们把这个过程叫做地理配准,这里为大家介绍一下地理配准的方法…...
FDM打印机学习
以下内容摘自网络,仅供学习讨论,侵删。 持续更新。。。 FDM打印机是通过喷头融化丝状耗材(PLA,ABS等材料),然后逐层涂在热床上,一层一层逐级抬高。 结构分类 Prusa i3型是一种龙门结构&#…...
C++进阶-- map和set
关联式容器 在前面,我们所学的vector、list、deque,这些都是序列容器,也就是底层为线性序列的数据结构。 而关联式容器是C标准库中的一种类别,用于存储键值对(key-value pair),关联式容器中的元…...
AI-数学-高中-33概率-事件的关系与运算
原作者视频:【概率】【一数辞典】2事件的关系与运算_哔哩哔哩_bilibili 事件: 和/并事件;积/交事件;互诉事件;对立(补集)事件;...
数据结构:链队
一、定义两个结构体 定义两个结构体,一个结构体是结点的结构体,一个结构体是保留指向对头结点和队尾结点指针的结构体 #ifndef __LINK_QUEUE_H__ #define __LINK_QUEUE_H__ #include <stdio.h> #include <stdlib.h>typedef struct link_node{int data…...
十四、计算机视觉-形态学梯度
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一、梯度的概念二、梯度的应用三、梯度如何实现 一、梯度的概念 形态学梯度(Morphological Gradient)是数字图像处理中的一种基本操作&…...
3月03日,每日信息差
🎖 素材来源官方媒体/网络新闻 🎄 国产商用飞机C919及ARJ21首次飞抵老挝 🌍 北京将打造新一批智能工厂 🌋 阿里云将于3月29日停止商标代理服务 🎁 起亚在美因远光灯故障召回3.5万辆Telluride汽车 ✨ 天涯社区拟5月1日前…...
leetcode 简单
1. 两数之和 两数之和 方法1:暴力枚举 两次for 循环,记录索引和值,找到合适的值然后返回 方法2:使用哈希表 第一次for循环的时候,就可以使用哈希表记录key的value,可以实现时间复杂度是1,要分…...
服务器硬件基础知识全解析
在信息技术日新月异的今天,服务器作为数据处理和存储的核心,其重要性不言而喻。了解服务器硬件基础知识,对于IT从业者以及广大技术爱好者来说,都是不可或缺的技能。本文将详细解析服务器硬件的基础知识,帮助读者建立起…...
python毕设选题 - 大数据商城人流数据分析与可视化 - python 大数据分析
文章目录 0 前言课题背景分析方法与过程初步分析:总体流程:1.数据探索分析2.数据预处理3.构建模型 总结 最后 0 前言 🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到…...
vmware网络负载均衡方式
基于 IP 哈希的路由: 原理: 基于虚拟机的源和目标 IP 地址以及 TCP/UDP 端口号计算哈希值,并使用该哈希值确定出口网络适配器。这样可以确保同一对源和目标的网络流量始终被路由到相同的网络适配器。应用场景: 适用于大量使用虚拟…...
Docker基础教程 - 2 Docker安装
更好的阅读体验:点这里 ( www.doubibiji.com ) 2 Docker安装 Docker 的官网地址:https://www.docker.com/,在官网可以找到 Docker Engine 的安装步骤。 下面进行 Docker 环境的安装,正常情况下 Docker …...
Android 多桌面图标启动, 爬坑点击打开不同页面
备注 : MainActivity 正常带界面的UI MainActivityBt 和 MainActivityUsb 是透明的,即 android:theme"style/TranslucentTheme" ###场景1:只有MainActivity 设置成:android:launchMode"singleTask" 点击顺序࿱…...
2024-3-1-网络编程作业
1>操控机械臂: 通过w(红色臂角度增大)s(红色臂角度减小) d(蓝色臂角度增大)a(蓝色臂角度减小)按键控制机械臂 源代码: #include <myhead.h> #define minStep 10 //最小偏…...
pytorch基础2-数据集与归一化
专题链接:https://blog.csdn.net/qq_33345365/category_12591348.html 本教程翻译自微软教程:https://learn.microsoft.com/en-us/training/paths/pytorch-fundamentals/ 初次编辑:2024/3/2;最后编辑:2024/3/2 本教程…...
Python测试框架pytest介绍用法
1、介绍 pytest是python的一种单元测试框架,同自带的unittest测试框架类似,相比于unittest框架使用起来更简洁、效率更高 pip install -U pytest 特点: 1.非常容易上手,入门简单,文档丰富,文档中有很多实例可以参考 2.支持简单的单…...
AI对话系统app开源
支持对接gpt,阿里云,腾讯云 具体看截图 后端环境:PHP7.4MySQL5.6 软件:uniapp 废话不多说直接上抗揍云链接: https://mny.lanzout.com/iKFRY1o1zusf 部署教程请看源码内的【使用教程】文档 欢迎各位转载该帖/源码...
SpringBoot+aop实现主从数据库的读写分离
读写分离的作用是为了缓解写库,也就是主库的压力,但一定要基于数据一致性的原则,就是保证主从库之间的数据一定要一致。如果一个方法涉及到写的逻辑,那么该方法里所有的数据库操作都要走主库。 一、环境部署 数据库:…...
如何快速安装Hollow Knight模组:Scarab模组管理器的完整指南
如何快速安装Hollow Knight模组:Scarab模组管理器的完整指南 【免费下载链接】Scarab An installer for Hollow Knight mods written in Avalonia. 项目地址: https://gitcode.com/gh_mirrors/sc/Scarab 厌倦了手动下载和安装Hollow Knight模组的繁琐过程&am…...
Java虚拟线程落地避坑指南(生产环境血泪总结:从Spring Boot 3.3集成到Project Loom异常传播链断裂修复)
第一章:Java 25虚拟线程核心原理与高并发演进全景Java 25正式将虚拟线程(Virtual Threads)从预览特性转为标准特性,标志着JVM并发模型进入轻量级线程时代。虚拟线程由JVM在用户态调度,底层复用有限的平台线程ÿ…...
【PHP 8.9 JIT调试终极指南】:20年核心开发者亲授3大避坑法则、4类典型崩溃现场还原与实时调优SOP
第一章:PHP 8.9 JIT 调试的认知革命与时代意义 PHP 8.9 并非官方发布的正式版本(截至 PHP 官方最新稳定版为 8.3),但作为思想实验中的“前瞻性 JIT 调试范式”,它象征着 PHP 运行时调试能力的一次质变跃迁——将传统基…...
Java响应式最后一公里:Loom原生支持下的WebMvc→WebFlux渐进式迁移路线图(仅限首批内测团队获取)
第一章:Java响应式编程转型的范式跃迁与Loom时代使命传统阻塞式I/O模型在高并发场景下遭遇线程资源瓶颈,而Project Reactor与RSocket等响应式生态组件推动Java从“以线程为中心”转向“以事件流为中心”的范式跃迁。这一转变不仅重构了异步数据处理逻辑&…...
2026届最火的五大降AI率助手实测分析
Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 于内容创作范畴之中,将AI生成的痕迹予以降低,此即降AI率,…...
DDD难落地?就让AI干吧! - cleanddd-skills介绍衔
AI训练存储选型的演进路线 第一阶段:单机直连时代 早期的深度学习数据集较小,模型训练通常在单台服务器或单张GPU卡上完成。此时直接将数据存储在训练机器的本地NVMe SSD/HDD上。 其优势在于IO延迟最低,吞吐量极高,也就是“数据离…...
企业级Mermaid与Confluence集成实战指南:从技术选型到价值落地
企业级Mermaid与Confluence集成实战指南:从技术选型到价值落地 【免费下载链接】mermaid Generation of diagrams like flowcharts or sequence diagrams from text in a similar manner as markdown 项目地址: https://gitcode.com/GitHub_Trending/me/mermaid …...
突破1k !具身智能中文教程项目火了
Datawhale干货 作者:李昀迪,every-embodied团队学完具身导航基础课,还是一头雾水不会动手实践?复现顶会代码,被复杂逻辑绕晕,摸不清算法流程?环境配置地狱、数据集超大、下载繁琐,想…...
【读论文】2013 NP 自由空间光双向时间频率传递
法布里齐奥R乔治塔*、威廉C斯旺、劳拉C辛克莱尔、埃丝特鲍曼、伊恩科丁顿、内森R纽伯里* 美国国家标准与技术研究院,科罗拉多州博尔德市百老汇大街325号,80305 *电子邮箱:fabrizionist.gov;nnewburyboulder.nist.gov 本研究为美国…...
Python数据分析环境部署:Anaconda与Phi-3-mini协作指南
Python数据分析环境部署:Anaconda与Phi-3-mini协作指南 1. 为什么选择这个组合? 在开始动手之前,我们先聊聊为什么Anaconda和Phi-3-mini是数据科学家的好搭档。Anaconda就像是一个瑞士军刀,把Python环境管理和包依赖这些麻烦事都…...
