Win32 ウィンドウを WPF ウィンドウの所有者として設定するにはどうすればよいですか?

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

  •  25-09-2019
  •  | 
  •  

質問

従来の win32 アプリケーションで WPF Windows を使用したいと考えています。WPF ウィンドウが常に win32 ウィンドウの上に表示されるように、同様の方法で動作させたいと考えています。

このために、WPF ウィンドウの所有者を 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-unmanaged-window-handle.aspx

この記事では、WindowInteropHelper を使用して同様の機能を実現します。

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

WindowInteropHelper の MSDN ページ:

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

それが役立つことを願っています、編

他のヒント

どのように SetParent() のでしょうか? WPFウィンドウのWindowsフォームのMDI子を作成するとき、私は作品を知っています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top