Как установить окно Win32 как владельца WPF окна?

StackOverflow https://stackoverflow.com/questions/2599053

  •  25-09-2019
  •  | 
  •  

Вопрос

Я хочу использовать WPF Windows в устаревшем приложении Win32. Я хотел бы вести себя как аналогичным образом, как окно WPF всегда отображается на вершине окна Win32.

Для этого я хотел бы установить владельца окна WPF в Windows Win32, но я понятия не поняла, как это достичь.

Любая помощь здесь?

Поскольку ответ скрыт за какую-либо ссылку, здесь код, который сделал трюк:

System::Windows::Interop::WindowInteropHelper^ helper = gcnew System::Windows::Interop::WindowInteropHelper(myWpfChildWindow);
helper->Owner = (System::IntPtr)myMainWindowHWND;
Это было полезно?

Решение

Эта статья показывает, как заставить ручки для обоих и того, как сделать окно WPF стало прозрачным наложением для окна Win32.

http://blogs.microsoft.co.il/blogs/tamir/archive/2007/04/11/transparent-wpf-control-over-unmaned-window-handle.aspx.

Эта статья использует окноинтерферпер для выполнения аналогичных функций.

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

MSDN PAGE на WindownInteroPhelper:

http://msdn.microsoft.com/en-us/library/system.windows.interop.windowInterophelper.aspx.

Надеюсь, что помогает, эд

Другие советы

Как насчет SetParent()? Я знаю, работает при создании окна WPF MDI для формы Windows.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top