WPF アプリケーションで WinForms ユーザー コントロールをホストするよりも少し進んで、実際には Delphi フォーム、つまりトップ レベル ウィンドウをホストしています。私はブログ投稿How To Host Top-Level HWNDs In WPFのブードゥーを通じてそうしています。
ほぼすべてが完璧に機能します。Delphi に組み込まれた COM サーバーにメニュー パス文字列を送信すると、COM サーバーからウィンドウ ハンドルが返されます。このウィンドウ ハンドルは、ブログで説明されているホスト コントロールに渡します。Delphi ウィンドウは、私の介入なしで、ほぼすべてのイベント (むしろ Windows メッセージ) を正しく受信します。
唯一の問題はボタンです。それらはクリック イベント/メッセージを正常に受け取り、機能しますが、Delphi の担当者がボタンに新しいアイコンを追加し、各ボタンにはアクティブ アイコン、ホバー アイコン、およびクリック アイコンがあります。これらのアイコンを変更する必要があるメッセージを受け取りません。これらを除いて、ほとんどすべてのメッセージが機能するのはなぜですか? これを修正するには、何を読んだり、何をしたりできますか?