2011-03-21 16 views

答えて

8

いいえ、標準のVCLでは使用できません。アプリケーションのMainFormのみがMDIフォームになります。しかし、図のように直接win32を使用することで可能になるはずですhere

+0

同じトピックについての私のQCレポートも参照してください(ただし、「しない」とはしていません):http://qc.embarcadero.com/wc/qcmain.aspx?d=12006 –

+0

申し訳ありません(私は別のプロジェクトに関わっているので)遅いリプレイ。それはうまくいかなかった。ごめんなさい。 2番目のmdiフォームを作成すると、その子ウィンドウがメインフォームでペイントされます。 – zoomz

0

これはVCLでは可能ではないと私は考えています。私が理解しているように、MDIフォームはメインフォーム(Application.MainForm)とみなされます。基本的なWindowsルーチンにはそのような前提はありませんが、VCLは深刻なハッキングなしにこれを行うことはできないと思います。

VCLフレームワークのさまざまな時点で、重要なMDIメッセージはApplication.MainForm.ClientHandleに送信されます。現在、ClientHandleはMDIコンテナですが、何らかの理由でメインフォームのコンテナが選択されています。

関連する問題