Platform SDK: DirectX

ステップ 1 : ウィンドウを作成する

[Visual Basic]

ここでは、C および C++ でのアプリケーション開発について説明する。Visual Basic については、「Direct3D 直接モード Visual Basic チュートリアル」を参照すること。

[C++]

いずれの Windows アプリケーションでも、実行時に、まず行わなければならないことは、アプリケーション ウィンドウを作成し、ユーザー インターフェイスを表示することである。これに従い、Triangle では、WinMain 関数の実行開始時に、次のコードを使用してウィンドウの初期化を実行している。

INT WINAPI WinMain( HINSTANCE hInst, HINSTANCE, LPSTR strCmdLine, INT )
{
    // ウィンドウ クラスを登録する。
    WNDCLASS wndClass = { CS_HREDRAW | CS_VREDRAW, WndProc, 0, 0, hInst,
                          LoadIcon( hInst, MAKEINTRESOURCE(IDI_MAIN_ICON)),
                          LoadCursor(NULL, IDC_ARROW), 
                          (HBRUSH)GetStockObject(WHITE_BRUSH), NULL,
                          TEXT("Render Window") };
    RegisterClass( &wndClass );
 
    // メイン ウィンドウを作成する。
    HWND hWnd = CreateWindow( TEXT("Render Window"),
                              TEXT("D3D Tutorial: Drawing One Triangle"),
                              WS_OVERLAPPEDWINDOW, CW_USEDEFAULT,
                              CW_USEDEFAULT, 300, 300, 0L, 0L, hInst, 0L );
    ShowWindow( hWnd, SW_SHOWNORMAL );
    UpdateWindow( hWnd );

上記のコードは、標準的な Windows プログラミングであり、ここでは主に、全体を説明するために記述している。このサンプルでは、最初に、"Render Window" というウィンドウ クラスの定義および登録を行っている。このウィンドウ クラスは、サイズ イベントによって再描画を行い、リソースとしてアプリケーション提供アイコンを使用し、バックグラウンドを白色にするよう定義されている。クラスの登録後、サンプル コードは、登録クラスを使用する基本的な最上位レベルのウィンドウを作成する。このウィンドウは、幅 300 ピクセル、高さ 300 ピクセルのクライアント領域を持ち、メニューと子ウィンドウは持たない。このサンプルでは、WS_OVERLAPPEDWINDOW ウィンドウ スタイルを使用して、ウィンドウ アプリケーションに共通する [最小化]、[最大化]、および [閉じる] ボックスの付いたウィンドウを作成する。(サンプルをフルスクリーン モードで実行する場合は、ウィンドウ スタイル に WS_EX_TOPMOST を使用するとよい)。このウィンドウが作成されると、サンプル コードは Win32® 標準関数を呼び出して、ウィンドウの表示と更新を行う。

アプリケーション ウィンドウの準備が終了すると、DirectX® の主要オブジェクトのセット アップを開始することができる。これが、「ステップ 2 : システム オブジェクトを初期化する」の説明内容である。