メインフォームと子フォームを使用しています。私はフォームmain + form子スタッキング問題
TMYForm.Create(ゼロ)と第二子フォームを開くと
。
第1子フォームトップには積み重ねません。
第2子と第X子フォームが第1子フォームと全く同じ位置に表示される方法はありますか?
新しいスタンプを作成する際に、古いスタティックフォームを破棄する必要があります(スタッキングが自動的に行われるため)。
メインフォームと子フォームを使用しています。私はフォームmain + form子スタッキング問題
TMYForm.Create(ゼロ)と第二子フォームを開くと
。
第1子フォームトップには積み重ねません。
第2子と第X子フォームが第1子フォームと全く同じ位置に表示される方法はありますか?
新しいスタンプを作成する際に、古いスタティックフォームを破棄する必要があります(スタッキングが自動的に行われるため)。
これは予想される動作です。そうでなければ、Formsは以前に開いた位置から右下に開きます。
フォームの位置を制御する場合は、Position
プロパティをpoDesigned
に変更しますが、そのプロパティを表示するには、Top
とLeft
プロパティを設定する必要があります。
または、一部のプリセット:poDesktopCenter, poMainFormCenter, poOwnerFormCenter
またはpoScreenCenter
を使用できます。
これを入れてみてください:
TMYForm.Position:= poMainFormCenter。
又は
TMYForm.Position:= poOwnerFormCenter。
前TMYForm.Create(nil);
-S
子フォームへの参照がある場合は、Form2.BoundsRect:= Form1.BoundsRectを使用します。
P.S.私はnilを使用する直前に子フォームを破棄しようとしましたが、別の場所にスタックしていますが、最初の子フォームは表示されなくなりました。 – Tom
これはモーダルですか、それとも非モーダルですか?モーダルでは、zオーダーが正しいことを確認する必要があります。 –