c – resource.h中的宏用于什么?

c – resource.h中的宏用于什么?,第1张

概述在visual studio中创建资源文件时,IDE会自动生成一个名为resource.h的头文件,其中包含以下文本: //{{NO_DEPENDENCIES}}// Microsoft Visual C++ generated include file.// Used by BackupRestore.rc// Next default values for new objects// 在visual studio中创建资源文件时,IDE会自动生成一个名为resource.h的头文件,其中包含以下文本:

//{{NO_DEPENDENCIES}}// Microsoft Visual C++ generated include file.// Used by BackupRestore.rc// Next default values for new objects// #ifdef APSTUdio_INVOKED#ifndef APSTUdio_Readonly_SYMBolS#define _APS_NEXT_RESOURCE_VALUE        101#define _APS_NEXT_COMMAND_VALUE         40001#define _APS_NEXT_CONTRol_VALUE         1001#define _APS_NEXT_SYMED_VALUE           101#endif#endif

正如你可以看到它的评论并说它们是“新对象的默认值”.这到底是什么意思?默认情况下是否在其他地方引用它们,如果不是,它们将在何处使用?我正在尝试使用最少量的代码和文件创建一个项目,并且已经测试了删除resource.h文件,并且解决方案似乎在没有它的情况下构建正常,所以我想知道它是否必不可少或者如果删除它将导致未来的问题.

综上所述:
什么是resource.h文件及其用于的内容?
默认情况下,定义的宏是否在其他地方使用?
程序员什么时候可以引用它们/在代码中使用它们,如果有的话?
它们是否必不可少,将它们删除会产生未来问题吗

在此先感谢 – 请注意我是C和宏的新手.

解决方法 从 the documentation起

_APS_NEXT_RESOURCE_VALUE is the next symbol value that will be used for a dialog resource,menu resource,and so on. The valID range for resource symbol values is 1 to 0x6FFF.

_APS_NEXT_COMMAND_VALUE is the next symbol value that will be used for a command IDentification. The valID range for command symbol values is 0x8000 to 0xDFFF.

_APS_NEXT_CONTRol_VALUE is the next symbol value that will be used for a dialog control. The valID range for dialog control symbol values is 8 to 0xDFFF.

_APS_NEXT_SYMED_VALUE is the next symbol value that will be issued when you manually assign a symbol value using the New command in the Symbol browser.

因此,如果您在实际的对话框编辑器中,当您单击一个新按钮(例如)时,它就是如何跟踪下一个可用资源ID.资源ID通常用于跟踪诸如静态文本(例如,用于字段标签),绑定等的事物.

如果您已经定义了资源ID,那么它必须是_APS_NEXT的较小值.例如,在您的resource.h中,您可能有

#define IDC_SOME_RAdio_button    1056

然后你必须更新

#define _APS_NEXT_CONTRol_VALUE       1057

再次这样,下次单击按钮时,它将获得唯一ID.它们必须是唯一的,因为它们只是在您尝试将该资源ID用于某些内容时将被替换的预处理器宏.例如

voID HandleRadioButtion(){    // do something important}

然后,您可以使用资源ID将其绑定到函数

BEGIN_MESSAGE_MAP(SomeDlg,CDialog)    ON_BN_CliCKED(IDC_SOME_RAdio_button,HandleRadiobutton)END_MESSAGE_MAP()
总结

以上是内存溢出为你收集整理的c – resource.h中的宏用于什么?全部内容,希望文章能够帮你解决c – resource.h中的宏用于什么?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1217770.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存