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

【35】MFC入门到精通——MFC运行 不显示对话框 MFC界面不显示

文章目录

  • 1 常见原因
  • 2 逐个分析
    • 2.1 无效的对话框资源ID
      • 2.1.1 同一ID,两个不同的值
    • 2.1.2 两个ID,同一个值
      • 2.1.3 对话框ID 被误改
    • 2.2 资源占用冲突
  • 2.3 父窗口HWND无效
  • 2.4 在ONINITDIALOG里用了ENDDIALOG
    • 2.5 使用没有注册的的自定义控件
    • 2.6 对话框的某些控件创建失败,如RICHEDIT,要加上AfxInitRichEdit();
    • 2. 7 可能是程序中存在其他错误
  • 3 如果以上方法均无效

1 常见原因

出现这种情况可能是因为以下几个原因:

前两种情况 都是我是实际遇到过的

1 无效的对话框资源ID2 资源占用冲突3  父窗口HWND无效4 在ONINITDIALOG里用了ENDDIALOG5 使用没有注册的的自定义控件6 对话框的某些控件创建失败

2 逐个分析

2.1 无效的对话框资源ID

可能是因为代码中使用了错误的对话框资源ID或者更新了对话框资源但程序没有重新编译导致。检查对话框资源ID是否与程序中代码一致。

2.1.1 同一ID,两个不同的值

int nResponse = dlg.DoModal();后发现返回为-1,
不能弹出显示对话框,后来核对了一下resource.h,本工程里面有两个,对于同一个宏
在这里插入图片描述

两个值不一致。改为一致就可以了。

2.1.2 两个ID,同一个值

其实这两个ID编号,对应的是同一个 控件,

因为修改过多次ID名,可能造成多个ID同一个值

在这里插入图片描述
删掉没有使用的ID,即可

2.1.3 对话框ID 被误改

注意下面是一个对话的属性,

在多个对话框的程序中,有一次一不小心,把其中一个对话框ID 该成下拉框里面的随机的一个了。

导致运行没有MFC界面

在这里插入图片描述
找到原来的 ID名改回来就好

2.2 资源占用冲突

之前电脑外接一个串口COM5,使用正常;
为了测试多个串口,使用了虚拟串口软件,虚拟出了COM1,COM2

当我运行程序,第一次修也还正常,在程序页面选择了 COM2,就关闭了程序,再次运行程序 整个MFC对话框界面就是不出来。
后来把虚拟串口删除了,程序又好了。

分析:应该是我程序,没有写关闭串口函数,当我连接串口后,没有关闭串口,直接关闭了程序,此时PC和串口仍然是连接状态,下次运行程序有冲突

在这里插入图片描述

2.3 父窗口HWND无效

2.4 在ONINITDIALOG里用了ENDDIALOG

代码中没有正确调用DoModal函数。文件打开对话框需要在程序中调用DoModal函数才能显示出来。确认程序代码中是否正确调用了DoModal函数。

2.5 使用没有注册的的自定义控件

2.6 对话框的某些控件创建失败,如RICHEDIT,要加上AfxInitRichEdit();

2. 7 可能是程序中存在其他错误

可能是程序中存在其他错误导致程序无法正确运行,需要仔细排查程序代码除文件打开对话框之外的其他部分。

仔细排查程序除文件打开对话框之外的其他部分是否存在其他错误。

3 如果以上方法均无效

可以尝试重新创建一个新的MFC项目,将原有代码逐一复制粘贴到新项目中去。

MFC中文件打开对话框显示不出来?

MFC 对话框不显示,返回-1 原因

http://www.dtcms.com/a/490694.html

相关文章:

  • 开源 C++ QT QML 开发(二十一)多媒体--视频播放
  • PMBT2222A,215 开关晶体管功率二极管 NXP安世半导体 音频放大电路 LED驱动 应用
  • 大语言模型(LLM)入门笔记:嵌入向量与位置信息
  • 网站设计济南做网站的一定要开80或8080端口
  • 【Spring Boot从入门到精通】原理、实战与最佳实践
  • uni-app 入门学习教程,从入门到精通,uni-app 基础知识详解 (2)
  • Pyspark分布式访问NebulaGraph图数据库
  • FPGA----petalinux的Ubuntu文件系统移植
  • 宜昌网站建设厂家wordpress 扁担
  • TensorFlow2 Python深度学习 - 卷积神经网络示例2-使用Fashion MNIST识别时装示例
  • Eureka: Human-Level Reward Design via Coding Large Language Models 译读笔记
  • 随时随地看监控:我的UptimeKuma远程访问改造记
  • 关于网站篡改应急演练剧本编写(模拟真实场景)
  • 河北省企业网站建设公司企业管理系统软件有哪些
  • JVM的classpath
  • RVO优化
  • ethercat 环型拓扑(Ring Topology)
  • 颠覆PD快充、工业控制与智能家电等领域高CTR,高隔离电压高可靠性光电耦合器OCT1018/OCT1019
  • 【机器学习入门】8.1 降维的概念和意义:一文读懂降维的概念与意义 —— 从 “维度灾难” 到低维嵌入
  • 黄骅市旅游景点有哪些盐城网站关键词优化
  • 对于网站建设的调查问卷爱南宁app官网下载
  • 一文读懂 YOLOv1 与 YOLOv2:目标检测领域的早期里程碑
  • 在 Windows 10/11 LTSC等精简系统中安装Winget和微软应用商店,Windows Server安装Microsoft Store的应用
  • A2A架构详解
  • 基础 - SQL命令速查
  • logo图片素材大全sem和seo都包括什么
  • 把 AI“缝”进布里:生成式编织神经网络让布料自带摄像头
  • 岳阳建网站长沙网站优化价格
  • [Sora] 分布式训练 | 并行化策略 | `plugin_type` | `booster.boost()`
  • Linux系统函数link、unlink与dentry的关系及使用注意事项