プラグイン DLL の開発で、呼び出される関数に HWND が指定されており、これを TForm にしてアクセスしたい


alm  2009-04-02 00:27:43  No: 33854

あるソフトのプラグイン DLL を作ろうとしております。

そのソフトのプラグイン関数に「設定ダイアログ拡張」という関数があり、
引数に HWND が指定されております。

そのプラグイン付属の C++ のサンプルを見てみると、この HWND に、
自作ウィンドウ(ダイアログ?) を SetParent で埋め込むような処理
をし、設定ダイアログの拡張を行なっているようでした。

Delphi で利用しやすくするため、この HWND を TForm に変換し、
その TForm でやり取りをしたいのですが、どうもうまくいきません。

TCustomForm の CreateParented(HWND;) で Form を作成したあと、その
Form に Windows.SetParent をやってみたりしたのですが、ウィンドウ
メッセージが飛んでこなくなり(正確にはメッセージハンドラに入って
こなくなっている?)、四苦八苦しております。

どなたか、このような処理を作成した経験がある方、または お分かりに
なる方がおられましたら、ご助言をお願い致します。


monaa  2009-04-02 04:04:28  No: 33855

多分、リソースダイアログっぽいものを作るのかと思いますが、
TFromにはそのような利用は考慮されてないはずです。
TCustomFormからじゃ作れないと思います。
思うだけで、断言できませんが。


ofZ  2009-04-02 17:38:34  No: 33856

具体的にどのプラグインでしょ?


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加