我想在旧版win32应用程序中使用WPF窗口。 我想以类似的方式表现它们,就像WPF窗口始终显示在win32窗口之上。
为此,我想将WPF窗口的所有者设置为win32窗口,但我不知道如何实现这一点。
这里有任何帮助吗?
由于答案隐藏在某些链接背后,这里是执行该技巧的代码:
System::Windows::Interop::WindowInteropHelper^ helper = gcnew System::Windows::Interop::WindowInteropHelper(myWpfChildWindow);
helper->Owner = (System::IntPtr)myMainWindowHWND;
答案 0 :(得分:14)
本文介绍如何获取两者的句柄以及如何使WPF窗口成为win32窗口的透明叠加层。
本文使用WindowInteropHelper来完成类似的功能。
WindowInteropHelper上的MSDN页面:
http://msdn.microsoft.com/en-us/library/system.windows.interop.windowinterophelper.aspx
希望有所帮助, 编
答案 1 :(得分:1)
SetParent()
怎么样?我知道在将WPF窗口作为Windows窗体的MDI子窗口时可行。