「VC PlusPlus:任意の名前のリソースファイルを保持する・複数保持するプロジェクトの作り方」の版間の差分

提供:yonewiki
(ページの作成:「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記事に戻る。