プロジェクトの作成

「HelloWorld」アプリケーションを実際に作成しながら、プロジェクトの作成の流れを説明していきます。

(1)プロジェクトを新規作成する

「Microsoft Visual C++ 2010 Express」を起動します。

メニューの「ファイル」-「新規作成」-「プロジェクト...」を実行します。

「Win32」の「Win32 プロジェクト」を選択し、「場所」に任意のフォルダを指定し、「名前」を「HelloWorld」として、「OK」ボタンを押します。

「Win32 アプリケーション ウィザード」が開きますので、現在のプロジェクト設定が「Windows アプリケーション」になっていることを確認して「完了」ボタンを押してください。

これで、指定した任意のフォルダの下に「HelloWorld」フォルダが生成され、プロジェクトが新規作成されました。

(2)「構成プロパティ」を設定する

「ソリューション エクスプローラー」の「ソリューション 'HelloWorld'」の下の「HelloWorld」をマウス右クリックして、ポップアップメニューの「プロパティ」を実行しますと、「HelloWorld プロパティ ページ」が開きます。ここで、「構成プロパティ」の下の、以下の項目を設定します。なお、左上の「構成」は「すべての構成」にします。

「全般」



「文字セット」を「マルチ バイト文字セットを使用する」に
「VC++ ディレクトリ」



「インクルード ディレクトリ」の先頭に以下の記述を追加
C:\DXSDK_Jun10\Include;

「ライブラリ ディレクトリ」の先頭に以下の記述を追加
C:\DXSDK_Jun10\Lib\x86;
「C/C++」の下の「プリコンパイル済みヘッダー」



「プリコンパイル済みヘッダー」を「プリコンパイル済みヘッダーを使用しない」に
「C/C++」の下の「コマンド ライン」



「追加オプション」
/I . /I C:\DirectX\d2dx\core /I C:\DirectX\d2dx\libs\libogg\include /I C:\DirectX\d2dx\libs\libvorbis\include
「リンカー」の下の「入力」



「追加の依存ファイル」の先頭に以下の記述を追加
d3d9.lib; d3dx9.lib; dsound.lib; dxerr.lib; dxguid.lib; imm32.lib; msacm32.lib; winmm.lib; C:\DirectX\d2dx\libs\libogg\libogg_static.lib; C:\DirectX\d2dx\libs\libvorbis\libvorbis_static.lib; C:\DirectX\d2dx\libs\libvorbis\libvorbisfile_static.lib;

実際には、「DirectX SDK」のインストール先、D2DXの配置先、各種ライブラリの配置先を、環境に合わせて変更する必要があります。なお、サウンドデータとしてOggVorbisフォーマットを使用しない場合は、「libogg」/「libvorbis」関連の設定は省略できます。

(3)D2DXソースファイルをプロジェクトに追加する

「ソリューション エクスプローラー」の「ソリューション 'HelloWorld'」の下の「HelloWorld」をマウス右クリックして、ポップアップメニューの「追加」-「既存の項目...」を実行します。

「既存項目の追加」ダイアログが表示されますので、D2DXソースファイル一式があるフォルダに移動し、D2DXソースファイル一式を選択して「追加」ボタンを押してください。

(4)「GlobalDef.h」ファイルを新規作成する

「ソリューション エクスプローラー」の「ソリューション 'HelloWorld'」の下の「HelloWorld」をマウス右クリックして、ポップアップメニューの「追加」-「新しい項目...」を実行します。

「新しい項目の追加」ダイアログが表示されますので、「ヘッダー ファイル」を選択し、「場所」がプロジェクトのフォルダになっていることを確認し、「名前」を「GlobalDef.h」として、「追加」ボタンを押してください。

(5)各種ファイルの内容を記述する

「GlobalDef.h」ファイルの内容を以下のように記述します。

GlobalDef.h:
#include "Resource.h"
#define _WNDCLASS_ICON IDI_HELLOWORLD
#define _WNDCLASS_NAME "helloworld"
#define _WINDOW_TITLE "Hello World !!"

#define _FONT_FACENAME "MS ゴシック"
#define _FONT_HEIGHT 16

#include "HelloWorld.h"
#define _MAIN_CLASS HelloWorld

「HelloWorld.h」ファイルの内容は、デフォルトの内容を一旦消去してから以下のように記述します。

HelloWorld.h:
#ifndef HELLOWORLD_H
#define HELLOWORLD_H

#include "_Main.hpp"

#include "_Graphics.hpp"

class HelloWorld : public _Main
{
public:
    _Graphics* g;

    void start();
    void paint();
    void processEvent( UINT type, UINT param );
};

#endif // HELLOWORLD_H

「HelloWorld.cpp」ファイルの内容は、デフォルトの内容を一旦消去してから以下のように記述します。

HelloWorld.cpp:
#include "_Global.h"

#include "HelloWorld.h"

void HelloWorld::start()
{
    g = getGraphics();

    setBackColor( g->getColorOfRGB( 0, 0, 255 ) );
}

void HelloWorld::paint()
{
    g->setColor( g->getColorOfRGB( 255, 0, 255 ) );
    g->drawString( "Hello World !!", 10, 10 + g->fontHeight() );
}

void HelloWorld::processEvent( UINT type, UINT param )
{
    if( type == _KEY_RELEASED_EVENT )
    {
        if( param == _KEY_ESCAPE )
        {
            terminate();
        }
    }
}

(6)ビルド

メニューの「デバッグ」-「ソリューションのビルド」を実行してください。

不要なファイルについて

不要なファイルを削除して、プロジェクトを整理します。

まず、「HelloWorld.rc」ファイルをUnicode対応テキストエディタで開き、
IDI_SMALL ICON "small.ico"
の行を削除します。

プリコンパイル済みヘッダーを使用しない設定にしていますので、「stdafx.cpp」と「stdafx.h」は不要です。「ソリューション エクスプローラー」の「ソリューション 'HelloWorld'」の下の各ファイルをマウス右クリックして、ポップアップメニューの「プロジェクトから除外」を実行します。

「small.ico」も同様にプロジェクトから除外してください。

これで、「stdafx.cpp」、「stdafx.h」、「small.ico」ファイルは削除しても構いません。