FireMonkey:嵌入表单中的表单 嵌入表单中的表单

问题描述 投票:0回答:1

我有三个表单:Form1 中嵌入了 Form2,Form2 中嵌入了 Form3。 第一级嵌入有效,第二级嵌入无效。

在 Form1 中,我有一个 TPanel (Form1Pn) 和一个在单击事件中包含以下代码的按钮:

Form2->Form2Layout->Parent = Form1Pn;
Form2->Form2Layout->Visible = true;

在 Form2 中,我有一个 TLayout (Form2Layout) 对齐 allclient、一个 TRectangle 对齐 allclient 只是为了设置背景颜色、一个 TPanel (Form2Pn) 和一个在单击事件中包含以下代码的按钮:

Form3->Form3Layout->Parent = Form2Pn;
Form3->Form3Layout->Visible = true;
Form3->Show();

Form2 BorderStyle 大小可调。

在Form3中,我有一个TLayout(Form3Layout)对齐所有客户端和一个T矩形对齐所有客户端只是为了设置背景颜色。 Form3 BorderStyle 为无。

当我单击 Form1 中的按钮时,Form2 按预期出现在 Form1Pn 中。 当我单击 Form2 中的按钮时,Form3 出现在 Form1 之外。

我不熟悉 FireMonkey,我不明白我缺少什么,有人可以帮助我吗?

谢谢

forms layout firemonkey
1个回答
0
投票

你说:当我点击Form1中的按钮时,Form2如预期出现在Form1Pn中。

这是不正确的,因为

Form2
中只出现了
Form1Pn
的内容。您永远不会调用
Form2.Show
,这会显示
Form2
,但在
Form1
之外。

在显示

Form3
内容的调用中,您确实调用了
Form3.Show
,因此会显示它,但在
Form2
之外并且没有内容,因为该内容已被“作为父级”到
Form2Pn

© www.soinside.com 2019 - 2024. All rights reserved.