为什么我的对话框创建失败了?菜鸟错误1

对话框中的资源要么被定义为一个整数,要么被定义为一个字符串。

仅仅一个简单的错误将会将其中的一个类型错误的变成另一个类型。我们来看一个例子。

>> 请移步至 www.topomel.com 以查看图片 <<

你是否能发现其中的两处 “菜鸟级错误” ?

如果先获取资源文件并发送给预处理器,可能会更容易发现这个问题。

>> 请移步至 www.topomel.com 以查看图片 <<

对 DialogBox 的第一次调用将 TEXT(“DLG_OPEN”) 作为资源名称传递。但请注意,没有具有该名称的资源。由于头文件中的第 #define DLG_OPEN 1 行,预处理器将 DLG_OPEN 变为 1。因此,对 DialogBox 的调用失败,因为没有名为 DLG_OPEN 的对话框。所需的对话框采用整数名称 1。

DialogBox(hInstance, MAKEINTRESOURCE(DLG_OPEN), hwnd, OpenDialogProc);

第二个错误更微妙。请注意,第二个对话框的名称拼写不一致。头文件称其为 DLG_WARN_REMOVEABLE,但资源文件称其为 DLG_WARN_REMOVABLE。因此,不会调用预处理器宏,结果是字符串名称为 TEXT(“DLG_WARN_REMOVABLE”) 的对话框。但是,代码会请求 MAKEINTRESOURCE(DLG_WARN_REMOVEABLE),该资源不存在。

要解决第二个问题,您首先必须确定您真正想要什么。您可能需要一个整数对话框资源,在这种情况下,解决方法是更正资源文件:

DLG_WARN_REMOVEABLE DIALOG 32, 32, 267, 73

另一方面,如果你真的希望对话框是一个命名资源(注意:这是非常罕见的),那么你需要按名称请求它:

DialogBox(hInstance, TEXT(“DLG_WARN_REMOVABLE”), hwnd, WarnRemoveableDialogProc);

在接下来的几天里,我们将再看看一些 “菜鸟错误”。

总结

请谨慎修改工程的资源定义文件(.rc文件),最好还是交给开发环境来自动维护。
机器在这方面(“老老实实的工作”)比人强。

最后

Raymond Chen的《The Old New Thing》是我非常喜欢的博客之一,里面有很多关于Windows的小知识,对于广大Windows平台开发者来说,确实十分有帮助。
本文来自:《Why can’t I create my dialog box? Rookie mistake #1》

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

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

相关文章

Elasticsearch:生成 AI 中的微调与 RAG

在自然语言处理 (NLP) 领域&#xff0c;出现了两种卓越的技术&#xff0c;每种技术都有其独特的功能&#xff1a;微调大型语言模型 (LLM) 和 RAG&#xff08;检索增强生成&#xff09;。 这些方法极大地影响了我们利用语言模型的方式&#xff0c;使它们更加通用和有效。 在本文…

Linux系统管理、服务器设置、安全、云数据中心

前言 「作者主页」&#xff1a;雪碧有白泡泡 「个人网站」&#xff1a;雪碧的个人网站 我们来快速了解liunx命令 文章目录 前言解析命令提示符linux的文件和目录文件和目录管理文件操作 进程管理命令系统管理网络管理 书籍推荐 本文以服务器最常用的CentOS为例 解析命令提示…

2024年完整湖北等保测评机构名单看这里!

等保测评机构是指经公安部认证的具有资质的测评机构&#xff0c;主要从事等级测评活动。一般过等保需要找正规具有资质的等保测评机构。那你知道2024年湖北等保测评机构有哪些&#xff1f;名单有吗&#xff1f; 2024年完整湖北等保测评机构名单看这里&#xff01; 1、湖北星…

接口测试【断言设置思路】实操

1 断言设置思路 这里总结了我在项目中常用的5种断言方式&#xff0c;基本可能满足90%以上的断言场景&#xff0c;具体参见如下脑图&#xff1a; 在这里插入图片描述 下面分别解释一下图中的五种思路&#xff1a; 1&#xff09; 响应码 对于http类接口&#xff0c;有时开发人…

无损编码——Slepian-Wolf理论

在信息论中&#xff0c;无损编码是一种重要的编码技术&#xff0c;其目的是通过尽量少的比特数来表示一段信息&#xff0c;同时保证信息的完整性和准确性。传统的无损编码方法往往只考虑单个源的编码问题&#xff0c;比如哈夫曼编码和算术编码等。然而&#xff0c;在实际应用中…

RTK、PPP与RTK-PPP?一文带您认识高精定位及如何进行高精定位GNSS测试!(一)

来源&#xff1a;德思特测试测量 德思特干货丨RTK、PPP与RTK-PPP&#xff1f;一文带您认识高精定位及如何进行高精定位GNSS测试&#xff01;&#xff08;一&#xff09; 原文链接&#xff1a;https://mp.weixin.qq.com/s/6Jb3DuJEhRGqFPrH3CX8xQ 欢迎关注虹科&#xff0c;为您…

#HarmonyOS:项目结构图

.hvigor&#xff1a;存储构建配置文件信息 .idea&#xff1a;存储项目的配置信息 AppScope&#xff1a;全局的共有资源存放目录

大模型评估中Pass@k值是如何计算的

在前面的博客中分别介绍了大模型评估过程不同指标的含义&#xff0c;以及如何通过代码&#xff0c;实现指标的收集。如果对如何运行代码生成结果和收集passk指标不清楚&#xff0c;可以参考这两篇博客。 如何对大模型进行评估上 如何对大模型进行评估下 Passk的来源 代码的生…

day34算法训练|贪心算法

1005.K次取反后最大化的数组和 两次贪心算法思路 1. 数组中有负数时&#xff0c;把绝对值最大的负数取反 2. 数组全为非负数时&#xff0c;一直取反最小的那个数 步骤&#xff1a; 第一步&#xff1a;将数组按照绝对值大小从大到小排序&#xff0c;注意要按照绝对值的大小…

基于YOLOv8深度学习的智能小麦害虫检测识别系统【python源码+Pyqt5界面+数据集+训练代码】目标检测、深度学习实战

《博主简介》 小伙伴们好&#xff0c;我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌更多学习资源&#xff0c;可关注公-仲-hao:【阿旭算法与机器学习】&#xff0c;共同学习交流~ &#x1f44d;感谢小伙伴们点赞、关注&#xff01; 《------往期经典推…

JavaSE 排序

目录 1 概念1.1 排序1.2 稳定性 2 常见基于比较排序算法总览3 插入排序3.1 直接插入排序3.1.1 思想3.1.2 实现3.1.3 性能分析 3.2 折半插入排序3.2.1 思想3.2.2 实现3.2.3 性能分析 3.3 希尔排序3.3.1 思想3.3.2 实现3.3.3 性能分析 4 选择排序4.1 选择排序4.1.1 思想4.1.2 实现…

神奇的数据恢复算法

今天码哥给大家带来一种数据备份与修复的技术——里德所罗门编码。 里德所罗门编码可是应用场景很多&#xff0c;例如我们耳熟能详的RAID&#xff08;磁盘阵列&#xff09;&#xff0c;又例如在UDP传输中降低丢包导致的数据缺失的情况等等。 什么是里德所罗门编码 这里&…

随时随地刷题题库小程序源码系统+完整代码包+安装部署教程

互联网的普及和在线教育的发展&#xff0c;越来越多的人开始利用碎片时间进行学习。为了满足这一需求&#xff0c;随时随地刷题题库小程序应运而生。该小程序提供了一个便捷的刷题平台&#xff0c;用户可以在任何时间、任何地点进行刷题练习&#xff0c;提高自己的学习效率。 …

C盘满了?这里有释放空间有效方案!

一、需要释放小空间 方法一&#xff0c;下载火绒安全软件&#xff0c;点击垃圾清理 方法二&#xff0c;手动清理&#xff1a; 1.左下角搜索"添加或删除" 2.左下角搜索"存储设置" 3.【我的电脑】-【C盘】-右键【属性】-【磁盘清理】 4.以下位置的不需要…

局域网其他pc如何访问宿主机虚拟机IP?

文章目录 背景贝瑞蒲公英设置虚拟机网络连接测试 背景 使用贝瑞蒲公英异地组网&#xff0c;将家里的pc作为pgsql服务器在公司使用&#xff0c;但是虚拟机的ip和端口访问不了 贝瑞蒲公英 设置虚拟机网络 就是添加端口转发规则 连接测试 公网内其他pc连接测试 可以看到已经连接成…

学习Java第74天,Ajax简介

什么是ajax AJAX Asynchronous JavaScript and XML&#xff08;异步的 JavaScript 和 XML&#xff09;。 AJAX 不是新的编程语言&#xff0c;而是一种使用现有标准的新方法。 AJAX 最大的优点是在不重新加载整个页面的情况下&#xff0c;可以与服务器交换数据并更新部分网页…

ERP真的“烂”吗?为什么有些公司上了ERP效率反而更低?

ERP是由美国Gartner Group咨询公司首先提出的国际上最先进的企业管理模式之一&#xff0c;也是企业信息化集成的最佳解决方案。 ERP到底是什么&#xff1f; ERP的概念 先打个比方。 把ERP理解成手机。 使用通讯类APP和同事、朋友、亲人交流。 使用购物类APP购买生活工作中需…

一文详细介绍Ehcache

title: Ehcache 快速入门 categories: 编程 Java 中间件 缓存 tags: Java 中间件 缓存 Ehcache abbrlink: 2720adf1 date: 2022-02-17 22:34:30 permalink: /pages/c4647d/ Ehcache 快速入门 EhCache 是一个纯 Java 的进程内缓存框架&#xff0c;具有快速、精干等特点&#xff…

中国九大农业区划

数据名称&#xff1a;中国九大农业区划 数据时间&#xff1a;2012年 数据空间位置:全国 数据空间分辨率&#xff1a;1:100万 数据格式&#xff1a;shp 数据坐标系&#xff1a;WGS1984 数据简介&#xff1a;农业区划是管理和指导农业生产的重要手段。我国农业区划种类较多…

如何在公网环境使用固定域名远程访问内网BUG管理系统协同办公

文章目录 前言1. 本地安装配置BUG管理系统2. 内网穿透2.1 安装cpolar内网穿透2.2 创建隧道映射本地服务3. 测试公网远程访问4. 配置固定二级子域名4.1 保留一个二级子域名5.1 配置二级子域名6. 使用固定二级子域名远程 前言 BUG管理软件,作为软件测试工程师的必备工具之一。在…