好友
阅读权限10
听众
最后登录1970-1-1
|
ImGui + Opengl3 + GLFW 在指定窗口绘制(已获取HWND)上
集成步骤
-
你需要手动下载 attach-win32-window 分支的源码,并编译
git clone https://github.com/glfw/glfw.git -b attach-win32-window
-
编译请参考 https://www.glfw.org/docs/latest/compile.html
我使用的 cmake 直接生成的vs2019的解决方案,然后打开Release模式编译就行了,获取到静态链接库 glfw3.lib
-
在自己的项目中包含头文件 glfw3.h 和 glfw3native.h , 然后静态链接 glfw3.lib , 就可以了
代码示例
HWND hd = GetDesktopWindow(); //得到桌面句柄
hd = GetWindow(hd, GW_CHILD); //得到屏幕上第一个子窗口句柄
if (hd == NULL) {
throw std::exception("GetDesktopWindow failed");
}
GLFWwindow* window = glfwAttachWin32Window(hd, NULL);
if (window == NULL)
throw std::exception("glfwAttachWin32Window failed");
总结
这样你就获取到了通过glfw包装的win32窗口了,然后就可以愉快的在你想要的窗口上,用ImGui绘制了
|
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|