5

これは基本的に、ここでの質問の拡張です。

resource.h ファイルが手動で編集され、乱雑になっているように見える古い MFC アプリケーションに取り組んでいます。そこに競合するIDがあることがわかります。

異なるタイプの同じ ID を持つ 2 つのリソースを使用できるかどうかを確認したいだけです。たとえば、私は次のようなものを持っています

IDD_1     101
IDS_2     101

また

IDR_1     102
IDS_2     102

基本的に、同じ ID で定義されたリソースがありますが、タイプは異なります。

元の質問へのコメントは、Resources of the same type don't share identifiers. IDR_xxxxそれが本当なら、 IDにも有効ですか?

すべての ID が一意でなければならないと考えているように見えるリソース ID オーガナイザーを使用しているため、質問しています。

4

4 に答える 4

5

推奨されていませんが、さまざまなタイプで問題なく動作するはずです。API FindResourceは、ID と Type を使用してリソースを識別します。発生する可能性が高い問題は、MFC がリソース ID を使用して別のリソース (ツールバー ボタンのヘルプ テキストなど) を参照する方法に関係しています。この種のバグは非常に時間がかかる可能性があるため、今すぐやり直し、リソース ID が一意になるように再番号付けすることをお勧めします。

于 2013-09-30T11:45:52.577 に答える
0

コードがコントロールをどのように使用するかによって異なります。たとえば、コントロールが重複した ID を持つボタンである場合、それを使用しても問題はありません。一方、コントロールがメニューのエントリである場合、ユーザーが関連イベントをクリックすると、最初に使用可能な ID が検出されます。重複したIDを並べ替えたほうがいいと思います。

于 2013-10-01T12:54:13.477 に答える