フォーム/コントロールのHandleプロパティから取得したハンドルをIWin32Window^に変換するにはどうすればよいですか?
25540 次
3 に答える
28
(これにより、IWin32Windowインターフェイスを実装するControlオブジェクトが取得されます。)
例えば。
IntPtr myWindowHandle = IntPtr(someVal);
IWin32Window^ w = Control::FromHandle(myWindowHandle);
これは、「フォーム/コントロールのHandleプロパティから取得された」ハンドルに依存していることに注意してください。この手法は、任意のWin32ウィンドウハンドルでは使用できません。
于 2010-03-20T03:59:34.133 に答える
27
独自のカスタムクラスを作成しなくても、.NETFrameworkによって直接サポートされるより単純なメソッドがあります。これは、任意のウィンドウハンドルで使用できます。
タイプIntPtrのptrWindowHandleが与えられます:
using System.Windows.Forms;
NativeWindow nativeWindow = new NativeWindow();
nativeWindow.AssignHandle(ptrWindowHandle);
System.Windows.Forms.NativeWindowは、 IWin32Windowインターフェイスを実装します。
于 2012-06-08T23:50:47.213 に答える
7
于 2010-03-20T03:54:54.917 に答える