Platform SDK: DirectX

オーバーレイ Z オーダ

[C++]

オーバーレイ サーフェスは、他のスクリーン コンポーネントすべての上位に位置するものと仮定されている。しかし、複数のオーバーレイ サーフェスを表示する場合、これらのオーバーレイをビジュアルに整える何らかの方法が必要になる。DirectDraw ではオーバーレイ Z オーダをサポートし、オーバーレイが互いにクリップする順序を管理する。Z オーダの値は、プライマリ サーフェスから見る人までの概念距離を表す。その値は、プライマリ サーフェスのすぐ上の 0 から、見る人のできるだけ近くにある 40 億までの範囲となる。いかなるオーバーレイでも、同一の Z オーダを共用することはできない。Z オーダの値を設定するには、IDirectDrawSurface7::UpdateOverlayZOrder メソッドを呼び出す。

転送先カラー キーは、プライマリ サーフェスのビットだけに影響され、他のオーバーレイに遮られたオーバーレイには影響されない。転送元カラー キーは、Z オーダがオーバーレイに対して指定されているかどうかに関わりなくそこで作用する。

指定された Z オーダのないオーバーレイは、Z オーダが 0 であるとみなされる。指定された Z オーダのないオーバーレイは、プリイマリ サーフェス上の同じ領域にオーバーレイすると、予測不可能な動作が生じる。

DirectDraw オブジェクトは、他のアプリケーションによって表示されたオーバーレイの Z オーダーを調査しない。

 :  WM_KILLFOCUS メッセージに対する応答で UpdateOverlayZOrder を呼び出すことにより、複数のオーバーレイ サーフェスにおける以前のクリッピングを確保できる。このメッセージを受け取る場合、DDOVERZ_SENDTOBACK に設定する dwFlags パラメータで UpdateOverlayZOrder メソッドを呼び出し、オーバーレイ サーフェスを最後の Z オーダー位置に設定する。

[Visual Basic]

オーバーレイ サーフェスは、他のスクリーン コンポーネントすべての上位に位置するものと仮定されている。しかし、複数のオーバーレイ サーフェスを表示する場合、これらのオーバーレイをビジュアルに整える何らかの方法が必要になる。DirectDraw ではオーバーレイ Z オーダをサポートし、オーバーレイが互いにクリップする順序を管理する。Z オーダの値は、プライマリ サーフェスから見る人までの概念距離を表す。その値は、プライマリ サーフェスのすぐ上の 0 から、見る人のできるだけ近くにある 40 億までの範囲となる。いかなるオーバーレイでも、同一の Z オーダを共用することはできない。Z オーダの値を設定するには、DirectDrawSurface7.UpdateOverlayZOrder メソッドを呼び出す。

転送先カラー キーは、プライマリ サーフェスのビットだけに影響され、他のオーバーレイに遮られたオーバーレイには影響されない。転送元カラー キーは、Z オーダがオーバーレイに対して指定されているかどうかに関わりなくそこで作用する。

指定された Z オーダのないオーバーレイは、Z オーダが 0 であるとみなされる。指定された Z オーダのないオーバーレイは、プリイマリ サーフェス上の同じ領域にオーバーレイすると、予測不可能な動作が生じる。

DirectDraw オブジェクトは、他のアプリケーションによって表示されたオーバーレイの Z オーダーを調査しない。

 :  WM_KILLFOCUS メッセージに対する応答で UpdateOverlayZOrder を呼び出すことにより、複数のオーバーレイ サーフェスにおける以前のクリッピングを確保できる。このメッセージを受け取る場合、DDOVERZ_SENDTOBACK に設定する dwFlags パラメータで UpdateOverlayZOrder メソッドを呼び出し、オーバーレイ サーフェスを最後の Z オーダー位置に設定する。