Como definir a janela Win32 como proprietário da janela WPF?
Pergunta
Quero usar o WPF Windows em um aplicativo Legacy Win32. Eu gostaria de me comportar de maneira semelhante, como a janela WPF sempre sendo exibida na parte superior da janela Win32.
Para isso, gostaria de definir o proprietário da janela WPF para o Win32 Windows, mas não tenho idéia de como conseguir isso.
Alguma ajuda aqui?
Como a resposta está escondida por trás de algum link, aqui o código que fez o truque:
System::Windows::Interop::WindowInteropHelper^ helper = gcnew System::Windows::Interop::WindowInteropHelper(myWpfChildWindow);
helper->Owner = (System::IntPtr)myMainWindowHWND;
Solução
Este artigo mostra como obter as alças e como fazer com que a janela WPF se torne uma sobreposição transparente para a janela Win32.
Este artigo usa um Windowinterphelper para realizar funcionalidade semelhante.
Página MSDN no Windowinterphelper:
http://msdn.microsoft.com/en-us/library/system.windows.interop.windowinterphelper.aspx
Espero que ajude, Ed
Outras dicas
Que tal SetParent()
? Eu sei que funciona ao fazer de uma janela WPF um filho MDI de um formulário do Windows.