【问题标题】:How do I embed a GLFW3 window into a WPF form?如何将 GLFW3 窗口嵌入到 WPF 表单中?
【发布时间】:2021-04-01 06:52:32
【问题描述】:

我有一个用 C++ 编写的 GLFW3 OpenGL 项目。我正在寻找一个现代的 GUI 来配合它。我在 XAML 和 Windows WPF 方面的经验有限,但使用起来很直观,所以我真的希望它能够工作。

我从 Github https://github.com/kopaka1822/WpfUnmanagedOpenGL 中找到了“WpfUnmanagedOpenGL”模板,它运行良好的 C++ DLL 与 Csharp OpenGL 主机窗口通信,该窗口已经在使用 GLAD 而不是 GLFW 的表单中工作。

我设法用我现有的代码创建了一个 GLFW 窗口,并在编译和运行 WPF 表单时显示为第二个弹出窗口。见:

如何正确嵌入?

我在 StackOverflow 上发现了这个问题:embed window(glfwCreateWindow) as child to C++ MFC parent form

基本上它说我可以将 GLFW 窗口设置为 WPF 表单的子窗口。但是我无法获取 WPF 父窗口句柄来设置它。

请帮忙。

谢谢,

【问题讨论】:

    标签: c# c++ wpf glfw


    【解决方案1】:

    您可能想尝试做相反的事情。与其将您的 Win32 应用程序嵌入您的 WPF 表单,不如将您的 WPF 表单嵌入您的 Win32 应用程序。

    官方文档: https://docs.microsoft.com/en-us/dotnet/desktop/wpf/advanced/walkthrough-hosting-wpf-content-in-win32?view=netframeworkdesktop-4.8

    一个非常简洁的教程: https://www.codeproject.com/Articles/5253279/Create-An-Awesome-WPF-UI-for-Your-Cplusplus-QT-App

    不过,这适用于旧版 .NET Framework。不过,我不知道是否可以在新的 .NET Core 框架中应用相同的技术。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-03-18
      • 2011-01-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多