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
指示是否在物理调色板中实现调色板。 当 bRealize 为 TRUE 时,调色板条目将映射到物理调色板(如果可用)。 当 bRealize 为 FALSE 时,不再需要窗口的层平面的调色板条目,并可能释放供另一个前台窗口使用。
返回值
如果函数成功,则返回值为 TRUE,即使 bRealize 为 TRUE 且物理调色板不可用也是如此。 如果函数失败或未选择像素格式,则返回值为 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 |