我现在正在开发游戏引擎。我打算使用 WPF 作为我的关卡编辑器 UI。
我将像下面的视频教程一样包装基本引擎功能。
https://www.youtube.com/watch?v=cqsj__ZVm-c
或使用 swig
我想知道,如何将窗口处理程序从 WPF 传递到非托管 C++?我正在使用 DirectX11。
类似于: 图形系统类 { .... void Initialize(hwnd 窗口);
“绘制实现”
void Initialize(hwnd window)
{
// Create the Direct3D object.
m_D3D = new D3DClass;
// Initialize the Direct3D object.
result = m_D3D->Initialize(screenWidth, screenHeight, VSYNC_ENABLED, hwnd,
FULL_SCREEN, SCREEN_DEPTH, SCREEN_NEAR);
}
因此我可以管理视口(viewport)(“窗口”)属性,例如来自 wpf 的大小。
最佳答案
检查此链接以获取 WPF 应用程序的 HWND: How to get the hWnd of Window instance?
我想您可以使用 Interop 将值传递给 C++ 代码。
关于c# - C++ C# 包装器相关。如何从 C# 窗口获取 hwnd 并将其传递给 C++?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29821019/