Share via


複数のプラットフォームでのリソースの使用

更新 : 2007 年 11 月

Visual Studio では、1 つのデバイス プロジェクトで、Pocket PC および Smartphone などの複数のプラットフォームをターゲットとすることができます。プラットフォーム間でのユーザー インターフェイス (UI) の違いのため、各プラットフォームではプロジェクト内に独自のリソース スクリプト (.rc) ファイルが必要です。

複数のリソース ファイル

複数のプラットフォームをターゲットとするようにデバイス プロジェクトを設定するには、次の 2 つの方法があります。

  • プロジェクト作成時にアプリケーション ウィザードを使用

  • プロジェクトの作成後

プロジェクトのアプリケーション ウィザードの [プラットフォーム] ページで複数のプラットフォームを選択した場合、リソース ファイルが生成され、使用している各プラットフォーム用に構成されます。たとえば、ターゲット プラットフォームとして Pocket PC および Smartphone を選択した場合、Pocket PC のリソース ファイルは Smartphone プラットフォームのビルドから除外され、Smartphone のリソース ファイルは Pocket PC プラットフォームのビルドから除外されます。

ただし、プロジェクトの作成後にプラットフォームを追加した場合、プラットフォームとリソース ファイルを手動で追加する必要があります。

新しいプラットフォームの追加

新しいプラットフォームを追加するには

  1. [ビルド] メニューの [構成マネージャ] をクリックします。

  2. [アクティブ ソリューション プラットフォーム] ボックスで、[[<新規作成...>] をクリックします。

  3. プロジェクトに追加するプラットフォームを選択し、設定のコピー元のプラットフォームを選択します。次に、[OK] をクリックします。

    w3h0ft3h.alert_note(ja-jp,VS.90).gifメモ :

    [<既定>] から設定をコピーする場合、プラットフォームのプロジェクト プロパティは空になります。類似したプラットフォームから設定をコピーし、必要に応じてプロジェクト プロパティを変更することをお勧めします。たとえば、プラットフォームとして Smartphone を追加する場合、Pocket PC プラットフォームから設定をコピーします。

  4. [閉じる] をクリックします。

新しいリソース ファイルの追加

新しいプラットフォームを追加したら、そのプラットフォームのリソースを追加する必要があります。

新しいプラットフォームのリソース ファイルを追加するには

  1. [プロジェクト] メニューの [新しい項目の追加] をクリックします。

  2. [新しい項目の追加] ダイアログ ボックスの [リソース] をクリックし、[テンプレート] ペインの [リソース ファイル (.rc)] をクリックします。

  3. [ファイル名] ボックスで、ファイルの名前を入力し、[追加] をクリックします。

新しいリソース スクリプト (.rc) ファイルに対応する新しいヘッダー (.h) ファイルがプロジェクトに追加されます。

ビルドからのリソース ファイルの除外

ターゲット プラットフォームのプロジェクトをビルドする際、他のプラットフォームからのリソース ファイルを含める必要のない場合があります。ターゲットとなるプラットフォームをベースとして、ビルドからファイルを除外できます。

ビルドからリソース ファイルを除外するには

  1. リソース スクリプト (.rc) ファイルを右クリックし、[プロパティ] をクリックします。

  2. [プラットフォーム] ボックスで、一覧から最初のプラットフォームを選択します。

  3. [全般] プロパティ ページで、選択されたプラットフォーム用にプロジェクトがビルドされる際にこの .rc ファイルを含めない場合は、[ビルドから除外] ボックスの [はい] を選択します。

  4. プラットフォーム構成ごとに前の手順を繰り返し、現在選択されているプラットフォームに所属しないリソース ファイルだけが除外されることを確認します。

  5. 前のすべての手順 (1 ~ 4) を、プロジェクト内の .rc ファイルごとに繰り返します。

ソリューション エクスプローラでは、現在選択されているプラットフォームのビルドから除外されている各ファイルのアイコンに赤いマークが付いているのがわかります。

新しいプラットフォーム構成のプロジェクト プロパティの変更

リソース ファイルをプラットフォーム用にセットアップしたら、プロジェクト プロパティが新しいプラットフォーム構成にとって適切な内容となっていることを確認する必要があります。類似したプラットフォームから設定をコピーした場合、変更する設定は多くありませんが、[<既定>] を選択した場合はすべての設定を手動で追加する必要があります。この例では、新しい Smartphone 2003 (ARMV4) プラットフォームをプロジェクトに追加し、Pocket PC 2003 (ARMV4) プラットフォームから設定をコピーしたことを想定しています。

プロジェクト プロパティを変更するには

  1. [プロジェクト] メニューの [プロパティ] をクリックします。

  2. [C/C++] ノードを展開し、[プリプロセッサ] をクリックします。

  3. [プリプロセッサの定義] ボックスで、「POCKETPC2003_UI_MODEL」を「SMARTPHONE2003_UI_MODEL」に変更し、[OK] をクリックします。

    w3h0ft3h.alert_note(ja-jp,VS.90).gifメモ :

    別のプラットフォームを追加したか、別のプラットフォームから設定をコピーした場合は、さらに設定を変更する必要が生じることがあります。

ヘッダー ファイルへの #ifdef ディレクティブの追加

プロジェクトのメインのヘッダー ファイルでは、前の手順で設定した UI モデルのプリプロセッサ定義を確認し、対応するリソース ファイルだけが含まれていることを確認する必要があります。

ヘッダーファイルに #ifdef ディレクティブを追加するには

  1. ProjectName.h を開きます。

  2. 元のプラットフォームの UI モデルの #ifdef の後に、次のコードを追加します。

    #ifdef SMARTPHONE2003_UI_MODEL
       #include "ResourceFileName.h"
    #endif
    

参照

その他の技術情報

デバイス プロジェクトのリソース エディタ