Platform SDK: DirectX

マルチ ウィンドウでのクリッパーの使用

DirectDrawClipper オブジェクトを使い、標準協調レベルで実行するアプリケーションにより作成された複数のウィンドウにブリットすることができる。

[C++]

このためには、プライマリ サーフェス付きの 1 つの DirectDraw オブジェクトを作成する。その後、DirectDrawClipper オブジェクトを作成し、IDirectDrawSurface7::SetClipper メソッドを呼び出してプライマリ サーフェスに割り当てる。ウィンドウのクライアント領域だけをブリットするには、プライマリ サーフェスにブリットする前に、IDirectDrawClipper::SetHWnd メソッドを呼び出してウィンドウのクライアント領域にクリッパーを設定する。別のウィンドウのクライアント領域にブリットしなくてはならないときは、常に新しいターゲット ウィンドウ ハンドルを用いて IDirectDrawClipper::SetHWnd メソッドを再度呼び出す。

[Visual Basic]

このためには、プライマリ サーフェス付きの 1 つの DirectDraw オブジェクトを作成する。その後、DirectDrawClipper オブジェクトを作成し、DirectDrawSurface7.SetClipper メソッドを呼び出してプライマリ サーフェスに割り当てる。ウィンドウのクライアント領域だけをブリットするには、プライマリ サーフェスをブリットする前に、DirectDrawClipper.SetHWnd メソッドを呼び出してウィンドウのクライアント領域にクリッパーを設定する。別のウィンドウのクライアント領域にブリットしなくてはならないときは、常に新しいターゲット ウィンドウ ハンドルを用いて DirectDrawClipper.SetHWnd メソッドを再度呼び出す。

互いのプライマリ サーフェスにブリットする複数の DirectDraw オブジェクトを作成することは、勧められない。前述の技術で、1 つの DirectDraw オブジェクトで複数のクライアント領域にブリットする効率的で確実な方法を提供する。