我可以创建一个hRC并使用wglMakeCurrent()将hRC设置为多个hDC吗?我发现每个窗口都应该有一个独特的hRC和hDC。那我怎样才能将相同的上下文放到不同的窗口?
答案 0 :(得分:4)
我可以创建一个hRC并使用wglMakeCurrent()将hRC设置为多个hDC吗?
是。您可以在一个特定线程中的特定时间将HGLRC设置为一个特定的HDC,但您可以随时切换它。此外,您可以在同一个HDC上使用任意数量的HLGLRC,每个都在不同的线程中。
唯一的限制是HGLRC和HDC彼此保持最新状态必须兼容其像素格式。
我发现每个窗口都应该有一个独特的hRC和hDC
这不正确。任何窗口也可能有任意数量的HDC。
然后我如何将相同的上下文放到不同的窗口?
通过使用新的HGLRC-HDC组合调用wglMakeCurrent,以便在正在进行调用的线程中生成当前值。