我对使用 WinAPI 创建应用程序的任务感兴趣,能够在带有 OpenGL 图形的窗口中使用它以及 WinAPI 元素。
例如,一个窗口占用一半的窗口带有图形,第二个是 WinAPI 的一些元素。
最佳答案
解决此问题的最简单方法是为 OpenGL 区域创建一个子窗口。使用 CS_OWNDC
类样式和 WS_CLIPSIBLINGS
窗口样式创建,以便有一个单独的设备上下文可用,并且可以将同级窗口(用于按钮等)放置在其顶部在 Z 堆栈上。剩下的就是照常初始化像素格式和 OpenGL 上下文,但在该子窗口上。
选择像素格式
设置像素格式
wglCreateContext
wglMakeCurrent
请注意,如果您想要现代 OpenGL,您还需要一个代理 OpenGL 上下文,以检索基于属性的格式选择函数。这是described in detail在官方 OpenGL wiki 中。
关于c++ - 如何在WinAPI应用程序中集成OpenGL和GLU?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57044884/