WPF控件中的本机Win32窗口

pab*_*lox 10 .net c# c++ wpf winapi

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

我需要创建一个WPF对话框窗口,可以在其上显示本机Win32控件.这个对话框窗口上也会有WPF控件,所以我正在寻找某种Grid,我可以把它带到HWND并将它发送到非托管C++控件,所以它可以在它上面绘制.那可能吗 ?

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

我是WPF的新手(用于做win32编程)并且很丢失(但我现在如何将它与C#.NET等接口)

如果你能给我任何提示,那会很棒:)

Dav*_*ras 13

您可以按照此处的说明/步骤开始:在WPF中托管Win32内容

从文章介绍:

Windows演示框架内的Win32演练(HwndHost)

要在WPF应用程序中重用Win32内容,请使用HwndHost,它是使HWND看起来像WPF内容的控件.与HwndSource一样,HwndHost很容易使用:派生自HwndHost并实现BuildWindowCore和DestroyWindowCore方法,然后实例化你的HwndHost派生类并将其放在WPF应用程序中.

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

那么,如果您有特定问题,请在此处询问,人们会在特定点上帮助您.