プログラムにないウィンドウの子としてフォームを表示するにはどうすればよいですか?
親になるウィンドウ ハンドルがありますが、フォームに SetParent() のマネージ メソッドがありません。ありますか?また、このform.Show()
メソッドは、IWin32Window を実装するマネージド オブジェクトのみを受け入れるようです。
管理されたメソッドがない場合、将来のシステムとの互換性を最大限に高めるために API を宣言するための推奨される方法は何ですか? このような?:
<DllImport("user32.dll")> _
Private Shared Function SetParent(hWndChild As IntPtr, hWndNewParent As IntPtr) As IntPtr
End Function
IWin32Window を実装し、何らかの方法でウィンドウをラップするクラスを構築することは可能ですか? このようなことをすると便利ですが、私は IWin32Window に慣れていません:
frmMyForm.Show(New NativeWindowWrapper(12345)) 'Where 12345 is the hWnd of the window I want to wrap