1

私はしばらく C# を使用してきましたが、今回は C++ で .NET アプリを作成しようとしています。C# では、コードからマネージ リソースに非常に簡単にアクセスできました。リソース ファイルの名前はクラスのように機能するため、cba.resx という名前のリソース ファイルに "abc" という文字列がある場合、単純に次のように記述します。 cba.abc は、リソース ファイルからの文字列と共に返されます。インテリセンスでさえそれで動作します。アイコンなどでも同じことが機能します。

C++ で同じことを行うことは可能ですか? そうでない場合、リソース ファイル内の文字列/アイコンにアクセスする最も簡単な方法は何ですか?

4

1 に答える 1

5

Visual Studio では、C# プロジェクトに resx ファイル デザイナーとプロパティ クラス ジェネレーターがあります。C++/CLI プロジェクトは、resx ファイル デザイナーのみを取得します。どちらも、コンパイルされたリソースをアセンブリに埋め込むためのビルド ステップを取得します。

Properties クラスを自分で作成することも、次のように必要なコード内のリソースにアクセスすることもできます。

auto resourceAssembly = Reflection::Assembly::GetExecutingAssembly();
// .Resources is the name generated by resxgen, e.g., from the input file name Resources.resx
auto resourceName = resourceAssembly->GetName()->Name + ".Resources"; 
auto resourceManager = gcnew Resources::ResourceManager(resourceName, resourceAssembly);
auto String1 = cli::safe_cast<String^>(resourceManager->GetObject("String1"));
于 2013-05-26T14:44:43.910 に答える