2011-09-20 53 views
10

ホストのネイティブWin32ウィンドウが必要なアプリケーションを開発していますが、何とかそれを行う手がかりがありません。WPFコントロールのネイティブWin32ウィンドウ

ネイティブのWin32コントロールを表示できるWPFダイアログウィンドウを作成する必要があります。このダイアログウィンドウにもWPFコントロールがありますので、HWNDを取り込んでアンマネージドC++コントロールに送信できるようなグリッドを探していますので、描画することができます。 これは可能ですか?

私はその表面で何が起こるか知る必要はなく、C++ dllに描画させるだけで、必要なのは適切なサイズ(私が知っている)を持つHWNDを渡すことだけです。

私はWPFにちょっと新しいです(Win32プログラミングを行うために使用)とかなり失われた(しかし、私は今まで、それを接続する方法C#.NETなど)

あなたが私に任意のヒントを送ることができれば素晴らしいだろう:)

答えて

12
あなたはここに指示/手順を実行して起動することができ

:記事紹介からHosting Win32 Content in WPF

AチュートリアルのWin32の内部のWindowsプレゼンテーションフレームワーク(HwndHostを)

のHWNDをWPFコンテンツのように見えるコントロールでHwndHostを使用し、WPFアプリケーション内部のWin32コンテンツを再利用します。 HwndSourceと同様、 HwndHostは使いやすいです:HwndHostから派生し、 BuildWindowCoreとDestroyWindowCoreメソッドを実装してから、 HwndHost派生クラスをインスタンス化し、WPFアプリケーションの中に配置します。

Win32ロジックが既にコントロールとしてパッケージ化されている場合、 BuildWindowCoreの実装は、 CreateWindowの呼び出しにすぎません。

あなたが特定の問題を抱えている場合は、ここでSOに尋ねると、特定のポイントについてお手伝いします。

+0

これはまさに私が探していたものです:)私はダイアログウィンドウを立ち上げて実行しています。どうもありがとう! – pablox

+0

喜んでお答えします:) –

+0

一般的なWindows Formsアプリケーションでホストするのに 'HwndHost'を使用できますか? –

関連する問題