MFC资源ID唯一性

man*_*ers 4 mfc

这基本上是这里问题的扩展。

我正在使用一个旧的MFC应用程序,其中似乎resource.h文件已被手动编辑并且变得混乱。我看到那里有冲突的ID。

我只想确认我们是否可以拥有两个具有不同类型的相同ID的资源。例如,我有类似

IDD_1     101
IDS_2     101
Run Code Online (Sandbox Code Playgroud)

要么

IDR_1     102
IDS_2     102
Run Code Online (Sandbox Code Playgroud)

基本上,定义了具有相同ID但类型不同的资源。

对原始问题的评论说Resources of the same type don't share identifiers。如果是这样,那么这些IDR_xxxxID 也有效吗?

我问是因为我使用的是资源ID组织者,它似乎认为所有ID都必须是唯一的。

sno*_*ude 5

尽管不建议这样做,但应与其他类型的设备一起使用。API FindResource使用ID和Type标识资源。您更可能遇到的问题与MFC使用资源ID引用另一个资源(例如工具栏按钮的帮助文本)有关。此类错误可能非常耗时,因此您可能只想立即咬一下子弹并重新编号,以便您的资源ID是唯一的。