「VC PlusPlus:任意の名前のリソースファイルを保持する・複数保持するプロジェクトの作り方」の版間の差分
(ページの作成:「VC Cpp記事に戻る。 == '''概要''' == VC++プロジェクトのリソースは通常、UIで操作する限りにおいては、プロジェクト名.rcというファイル名のリソーススクリプトを一つ保持しますが、プロジェクトファイル(*.vcxproj)のテキストを直接編集することにより複数のリソーススクリプト(*.rc)を保有することができます。リソースの自動発番…」) |
(→概要) |
||
(同じ利用者による、間の1版が非表示) | |||
30行目: | 30行目: | ||
もう少し、応用ができて、自分が使っているPCの言語、地域の設定によってリソースファイルの選択を切り替えるという方法です。IDが重複しても実際は一つのリソースファイルだけを使って、ビルドするので、エラーにもなりません。PCの設定によって、ビルドする対象がかわり、英語版のリソースを使って英語版のアプリケーションを生成したり、日本語版のリソースを使って日本語版のアプリケーションを生成したりできますし、地域の設定をクロスさせることで、日本語版のPCの設定だけど、英語版のリソースが選択されるようにして、日本語版PCで英語版のアプリケーションを作ることができます。 | もう少し、応用ができて、自分が使っているPCの言語、地域の設定によってリソースファイルの選択を切り替えるという方法です。IDが重複しても実際は一つのリソースファイルだけを使って、ビルドするので、エラーにもなりません。PCの設定によって、ビルドする対象がかわり、英語版のリソースを使って英語版のアプリケーションを生成したり、日本語版のリソースを使って日本語版のアプリケーションを生成したりできますし、地域の設定をクロスさせることで、日本語版のPCの設定だけど、英語版のリソースが選択されるようにして、日本語版PCで英語版のアプリケーションを作ることができます。 | ||
この先の説明については[[VC PlusPlus:MUI(Multilingual User Interface)のリソースファイルの作り方 言語別リソース|MUIを使ったリソースの言語選択]]の記事で記述したいと思います。 | |||
[[VC_PlusPlus#記事|VC Cpp記事]]に戻る。 | [[VC_PlusPlus#記事|VC Cpp記事]]に戻る。 |
2024年2月18日 (日) 03:00時点における最新版
VC Cpp記事に戻る。
概要
VC++プロジェクトのリソースは通常、UIで操作する限りにおいては、プロジェクト名.rcというファイル名のリソーススクリプトを一つ保持しますが、プロジェクトファイル(*.vcxproj)のテキストを直接編集することにより複数のリソーススクリプト(*.rc)を保有することができます。リソースの自動発番のようなシステムが少し使いづらくなるので、IDが重複するとエラーの元になるので、あまりお勧めはできませんが、ビルドするPCのOSの地域・言語設定に従ってリソースを選択したりすることもできます。
では、試しにやってみましょう。まず、既存のリソーススクリプトが必要で、既存のスクリプトと同じフォルダにコピーして名前を変えてみましょう。ConsoleResource2.rcとでもしてみましょうか。
そしてプロジェクトファイルの以下のような部分を探します。
<ItemGroup>
<ResourceCompile Include="ConsoleResource.rc" />
</ItemGroup>
となっている部分を以下のように二つ分追加してみましょう。
<ItemGroup>
<ResourceCompile Include="ConsoleResource.rc" />
<ResourceCompile Include="ConsoleResource2.rc" />
</ItemGroup>
この状態で、プロジェクトを開くと二つのリソースがありますが、resource.hファイルは一つなので、常にConsoleResource.rcかConsoleResource2.rcどちらか片方が開いているという内部的な扱いになります。なので、開いていない方のリソースを編集して保存すると、ダイアログボックスが表示されます。IDに対する数値の発番の管理も不十分になります。気を付けて操作しましょう。このように無駄に2つのリソースがある状態では使いにくいだけで2つのリソースファイルを保持する利点はほとんどありません。
もう少し、応用ができて、自分が使っているPCの言語、地域の設定によってリソースファイルの選択を切り替えるという方法です。IDが重複しても実際は一つのリソースファイルだけを使って、ビルドするので、エラーにもなりません。PCの設定によって、ビルドする対象がかわり、英語版のリソースを使って英語版のアプリケーションを生成したり、日本語版のリソースを使って日本語版のアプリケーションを生成したりできますし、地域の設定をクロスさせることで、日本語版のPCの設定だけど、英語版のリソースが選択されるようにして、日本語版PCで英語版のアプリケーションを作ることができます。
この先の説明についてはMUIを使ったリソースの言語選択の記事で記述したいと思います。
VC Cpp記事に戻る。