WPF控件中的本机Win32窗口



我正在开发一个需要主机本机Win32窗口的应用程序,不知何故我没有线索如何做到这一点。

我需要创建一个可以在其上显示本地Win32控件的WPF对话框窗口。这个对话框窗口也将有WPF控件,所以我正在寻找某种网格,我可以采取HWND并将其发送到非托管的c++控件,所以它可以在它上面绘制。可以吗?

我不需要知道在该表面内发生了什么,只需要让c++ dll在其上绘制,我所需要做的就是传递具有适当大小的HWND(我知道)。

我对WPF有点陌生(用来做win32编程),很迷路(但我现在如何接口它到c# .NET等)

如果你能给我一些提示就太好了

您可以从下面的说明/步骤开始:在WPF中托管Win32内容

摘自文章介绍:

Win32 Inside Windows Presentation Framework (HwndHost)攻略

要在WPF应用程序中重用Win32内容,请使用HwndHost一个使hwnd看起来像WPF内容的控件。像HwndSource,HwndHost使用起来很简单:从HwndHost派生并实现BuildWindowCore和DestroyWindowCore方法,然后实例化HwndHost派生类,并将其放置在WPF应用程序中。

如果您的Win32逻辑已经打包为控件,那么您的BuildWindowCore实现只不过是一个调用CreateWindow .

然后,如果你有一个具体的问题,问这里的SO,人们会帮助你具体的点。

最新更新