我对使用WinAPI创建应用程序的任务感兴趣,能够在带有OpenGL图形的窗口中使用它以及WinAPI元素。
例如,窗口的一半被带有图形的窗口占据,第二个是WinAPI的一些元素。
解决此问题的最简单方法是为 OpenGL 区域创建一个子窗口。使用类样式和WS_CLIPSIBLINGS
窗口样式创建CS_OWNDC
以便有一个单独的设备上下文可用,并且可以将同级窗口(用于按钮等)放置在 Z 堆栈上的其顶部。其余的像往常一样初始化像素格式和 OpenGL 上下文,但在该子窗口上。
ChoosePixelFormat
SetPixelFormat
wglCreateContext
wglMakeCurrent
请注意,如果你想要现代OpenGL,你还需要一个代理OpenGL上下文,以检索基于属性的格式选择函数。它在官方OpenGL维基中有详细的描述。