次の方法で共有


wglRealizeLayerPalette 関数 (wingdi.h)

wglRealizeLayerPalette 関数は、指定されたカラー インデックス レイヤー プレーンのパレット エントリを物理パレットにマップするか、RGBA レイヤー プレーンのパレットを初期化します。

構文

BOOL wglRealizeLayerPalette(
  HDC  unnamedParam1,
  int  unnamedParam2,
  BOOL unnamedParam3
);

パラメーター

unnamedParam1

レイヤ プレーン パレットを物理パレットに表示するウィンドウのデバイス コンテキストを指定します。

unnamedParam2

オーバーレイまたはアンダーレイ平面を指定します。 iLayerPlane の正の値はオーバーレイプレーンを識別します。ここで、1 はメイン平面上の最初のオーバーレイプレーン、2 は最初のオーバーレイプレーン上の 2 番目のオーバーレイプレーンなどです。 負の値を指定すると、アンダーレイ平面が識別されます。ここで、1 はメイン平面の下の最初のアンダーレイ平面、2 は最初のアンダーレイ平面の下の 2 番目のアンダーレイ平面などです。 オーバーレイ面とアンダーレイ 平面の数は、PIXELFORMATDESCRIPTOR 構造体の bReserved メンバーで指定されます。

unnamedParam3

パレットを物理パレットに表示するかどうかを示します。 bRealizeTRUE の場合、パレット エントリは使用可能な場合は物理パレットにマップされます。 bRealizeFALSE の場合、ウィンドウのレイヤー プレーンのパレット エントリは不要になり、別のフォアグラウンド ウィンドウで使用するために解放される可能性があります。

戻り値

関数が成功した場合、bRealizeTRUE で物理パレットが使用できない場合でも、戻り値は TRUE になります。 関数が失敗した場合、またはピクセル形式が選択されていない場合、戻り値は FALSE です。 詳細なエラー情報を得るには、GetLastError を呼び出します。

解説

レイヤー プレーンの物理パレットは、レイヤー プレーンを持つウィンドウ間で共有されるリソースです。 複数のウィンドウが特定の物理レイヤー プレーンのパレットを実現しようとすると、一度に 1 つのパレットのみが実現されます。 wglRealizeLayerPalette 関数を呼び出すと、フォアグラウンド ウィンドウのレイヤー パレットが常に最初に実現されます。

ウィンドウのレイヤー パレットが実現されると、そのパレット エントリは常に 1 対 1 で物理パレットにマップされます。 GDI 論理パレットとは異なり、 wglRealizeLayerPalette では、他のウィンドウのレイヤー パレットを現在の物理パレットにマッピングする必要はありません。

ウィンドウがフォアグラウンド ウィンドウになったら、 wglRealizeLayerPalette を呼び出して、レイヤー プレーンのピクセル タイプが RGBA であっても、レイヤー パレットを再び実現します。

wglRealizeLayerPalette はメインプレーンのパレットを認識しないため、GDI パレット関数を使用してメインプレーン パレットを実現します。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー wingdi.h
Library Opengl32.lib
[DLL] Opengl32.dll

こちらもご覧ください

LAYERPLANEDESCRIPTOR

Windows 上の OpenGL

PIXELFORMATDESCRIPTOR

WGL 関数

wglDescribeLayerPlane

wglGetLayerPaletteEntries

wglRealizeLayerPalette

wglSetLayerPaletteEntries