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


alm  2009-04-01 15:27:43  No: 33854  IP: 192.*.*.*

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

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

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

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

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

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

編集 削除
monaa  2009-04-01 19:04:28  No: 33855  IP: 192.*.*.*

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

編集 削除
ofZ  2009-04-02 08:38:34  No: 33856  IP: 192.*.*.*

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

編集 削除