wglRealizeLayerPalette 函数 (wingdi.h)

wglRealizeLayerPalette 函数将给定颜色索引层平面中的调色板条目映射到物理调色板中,或初始化 RGBA 层平面的调色板。

语法

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

参数

unnamedParam1

指定窗口的设备上下文,该窗口的层平面调色板将实现到物理调色板中。

unnamedParam2

指定覆盖层或底层平面。 iLayerPlane 的正值标识覆盖平面,其中 1 是main平面上的第一个覆盖平面,2 是第一个覆盖平面上的第二个覆盖平面,依此推。 负值标识底层平面,其中 1 是main平面下的第一个底层平面,2 是第一个底层平面下的第二个底层平面,依此类比。 在 PIXELFORMATDESCRIPTOR 结构的 bReserved 成员中提供了覆盖平面和底层平面的数目。

unnamedParam3

指示是否在物理调色板中实现调色板。 当 bRealizeTRUE 时,调色板条目将映射到物理调色板(如果可用)。 当 bRealizeFALSE 时,不再需要窗口的层平面的调色板条目,并可能释放供另一个前台窗口使用。

返回值

如果函数成功,则返回值为 TRUE,即使 bRealizeTRUE 且物理调色板不可用也是如此。 如果函数失败或未选择像素格式,则返回值为 FALSE。 要获得更多的错误信息,请调用 GetLastError。

注解

层平面的物理调色板是具有层平面的窗口之间的共享资源。 当多个窗口尝试实现给定物理层平面的调色板时,一次只实现一个调色板。 调用 wglRealizeLayerPalette 函数时,始终首先实现前台窗口的层调色板。

实现窗口的层调色板时,其调色板条目始终一对一映射到物理调色板中。 与 GDI 逻辑调色板不同,使用 wglRealizeLayerPalette 时,不会将其他窗口的层调色板映射到当前物理调色板。

每当窗口成为前台窗口时,调用 wglRealizeLayerPalette 以再次实现其层调色板,即使层平面的像素类型为 RGBA 也是如此。

由于 wglRealizeLayerPalette 不会实现main平面的调色板,因此请使用 GDI 调色板函数来实现main平面调色板。

要求

要求
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 wingdi.h
Library Opengl32.lib
DLL Opengl32.dll

另请参阅

LAYERPLANEDESCRIPTOR

Windows 上的 OpenGL

PIXELFORMATDESCRIPTOR

WGL 函数

wglDescribeLayerPlane

wglGetLayerPaletteEntries

wglRealizeLayerPalette

wglSetLayerPaletteEntries