Domanda

I desidera utilizzare Windows WPF in un'applicazione legacy win32. Mi piacerebbe a comportarsi in un modo simile, come la finestra WPF sempre di essere visualizzato sulla parte superiore della finestra Win32.

Per questo mi piacerebbe impostare il proprietario della finestra WPF alle finestre win32, ma ho avuto alcuna idea di come raggiungere questo obiettivo.

Qualsiasi aiuto qui?

Dato che la risposta è nascosto dietro qualche legame, ecco il codice che ha fatto il trucco:

System::Windows::Interop::WindowInteropHelper^ helper = gcnew System::Windows::Interop::WindowInteropHelper(myWpfChildWindow);
helper->Owner = (System::IntPtr)myMainWindowHWND;
È stato utile?

Soluzione

Questo articolo mostra come ottenere le maniglie per entrambi così come il modo per rendere la finestra WPF diventare una mascherina trasparente per la finestra Win32.

http://blogs.microsoft.co.il/blogs/tamir/archive/2007/04/11/Transparent-WPF-control-over-unmanaged-window-handle.aspx

Questo articolo utilizza un WindowInteropHelper per realizzare una funzionalità simile.

http://blogs.msdn.com/wpfsdk/archive/2007/04/03/centering-wpf-windows-with-wpf-and-non-wpf-owner-windows.aspx

pagina MSDN su WindowInteropHelper:

http://msdn.microsoft.com/ it-it / library / system.windows.interop.windowinterophelper.aspx

Speranza che aiuta, Ed

Altri suggerimenti

Come su SetParent() ? So che funziona quando si effettua una finestra WPF un figlio MDI di un Windows Form.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top