Platform SDK: DirectX |
ここでは、C および C++ でのアプリケーション開発について説明する。Visual Basic については、「DirectDraw Visual Basic サンプル」を参照すること。
この例は、IDirectDraw7::StartModeTest メソッドと IDirectDraw7::EvaluateMode メソッドの基本的な使用方法を示す。これらのメソッドを一緒に使用すれば、モニタをどんなディスプレイ モードとリフレッシュ レートでディスプレイ デバイスと接続すれば表示できるかをアプリケーションで調べることができる。アプリケーションは、高いリフレッシュ レートを使用したいときに、これらのメソッドを使用できる。
ソース ファイル :(SDK ルート)\Samples\Multimedia\DDraw\Src\ModeTest
実行可能ファイル :(SDK ルート)\Samples\Multimedia\DDraw\Bin\ModeTest.exe
このユーザー インターフェイスは単純なダイアログ ボックスである。最初に DirectDraw ディスプレイ デバイスを選択する。次に左側のリスト ボックスから 1 つ以上のモードを選択し、[Test] をクリックする。ディスプレイ モードごとにテストが実行され、モードが正しく表示されているかどうかを指定できる。間違った場合は、[Reset] をクリックして再度テストする。アプリケーションを終了するには、[Close] をクリックする。
DirectDraw では、アプリケーションが渡したリストを元に、テストするモードのリストがセットアップされ、アプリケーションの制御によって、モードが順番にテストされる。
アプリケーションは IDirectDraw7::EvaluateMode を継続的に呼び出す。DirectDraw によってモードが設定される。アプリケーションで実行しなければならないのは、事前に協調レベルを設定すること、サーフェスのロスと現在のモードが正しく表示されているかどうかを尋ねるインターフェイスの描画を処理することだけである。DirectDraw が EvalulateMode から返す情報によって、アプリケーションは上記の設定を行う時期とテストの停止時期を知ることができる。
ユーザーがモードを承認すると、アプリケーションはフラグを EvaluateMode に渡し、DirectDraw はそのモードに適切のマークを付けて次の処理に進む。DirectDraw ではまた、時間が不足したと判断されて特定のモードのテストが中断されることがある。
DirectDraw では、自動化された手段によって得られる情報を活用してテストの処理ができるだけ短縮されるため、アプリケーションは関係のあるモードだけをテストすればよい。