2009-08-28 11 views
0

メインフォームと子フォームを使用しています。私はフォームmain + form子スタッキング問題

TMYForm.Create(ゼロ)と第二子フォームを開くと

第1子フォームトップには積み重ねません。

第2子と第X子フォームが第1子フォームと全く同じ位置に表示される方法はありますか?

新しいスタンプを作成する際に、古いスタティックフォームを破棄する必要があります(スタッキングが自動的に行われるため)。

+0

P.S.私はnilを使用する直前に子フォームを破棄しようとしましたが、別の場所にスタックしていますが、最初の子フォームは表示されなくなりました。 – Tom

+0

これはモーダルですか、それとも非モーダルですか?モーダルでは、zオーダーが正しいことを確認する必要があります。 –

答えて

4

これは予想される動作です。そうでなければ、Formsは以前に開いた位置から右下に開きます。
フォームの位置を制御する場合は、PositionプロパティをpoDesignedに変更しますが、そのプロパティを表示するには、TopLeftプロパティを設定する必要があります。
または、一部のプリセット:poDesktopCenter, poMainFormCenter, poOwnerFormCenterまたはpoScreenCenterを使用できます。

0

これを入れてみてください:

TMYForm.Position:= poMainFormCenter。

又は

TMYForm.Position:= poOwnerFormCenter。

前TMYForm.Create(nil);

-S

0

子フォームへの参照がある場合は、Form2.BoundsRect:= Form1.BoundsRectを使用します。

関連する問題