Platform SDK: DirectX

ステップ 3 : ディスプレイ モードの変更

[Visual Basic]

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

[C++]

アプリケーションの動作を設定した後で、IDirectDraw7::SetDisplayMode メソッドを使ってディスプレイの解像度を変更できる。次の例は、ディスプレイ モードを 640 エ 480 エ 8 bpp に設定する方法を示す。

HRESULT       hRet; 
LPDIRECTDRAW7 g_pDD;   // 既に DirectDrawCreateEx によって作成されている。

hRet = g_pDD->SetDisplayMode(640, 480, 8, 0, 0);
if (hRet != DD_OK)
{ 
// ディスプレイ モードの変更は成功した。
} 
else
{ 
// ディスプレイ モードは変更できなかった。
// モードがサポートされていないか、他のアプリケーションが
// 排他モードになっている。
} 
 

ディスプレイ モードを設定する場合、ユーザーのハードウェアが高解像度をサポートしていないときに、アプリケーションが大部分のディスプレイ アダプタでサポートされる標準モードに戻れるようにする。たとえば、アプリケーションは、標準バックアップ解像度として 640 × 480 × 8 をサポートするすべてのシステムで実行できるように設計できる。

 :  要求される解像度にディスプレイ アダプタを設定できない場合、IDirectDraw7::SetDisplayMode DDERR_INVALIDMODE エラーを返す。したがって、ディスプレイ モードを設定する前に、IDirectDraw7::EnumDisplayModes メソッドを使ってユーザーのディスプレイ アダプタの能力を決めておかなければならない。

次項 :ステップ 4 :フリッピング サーフェスの作成