C ++ C#包装器相关。如何从C#窗口获取hwnd并将其传递给C ++?

时间:2015-04-23 10:41:01

标签: c# c++ wpf game-engine directx-11

我正在研究游戏引擎。我打算使用WPF作为我的关卡编辑器UI。

我将打包基本引擎功能,如下面的视频教程。

https://www.youtube.com/watch?v=cqsj__ZVm-c

或使用swig

http://www.swig.org/

我想知道,如何将窗口处理程序从WPF传递给非托管c ++?我正在使用DirectX11。

像这样的东西: class GraphicSystem { .... void Initialize(hwnd window); }

“绘制实现”

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);
}

所以我可以管理视口(“窗口”)属性,例如来自wpf的大小。

1 个答案:

答案 0 :(得分:0)

检查此链接以获取WPF应用的HWND: How to get the hWnd of Window instance?

我猜你可以使用Interop将值传递给C ++代码。

相关问题