gpt4 book ai didi

Delphi - 窗体中的窗体

转载 作者:行者123 更新时间:2023-12-03 14:42:22 25 4
gpt4 key购买 nike

出于美观原因,我想在另一个表单之上显示一个表单,就像它是一个组件一样,比如 TPanel。它应该随父级一起调整大小,当父级被标题栏拖动时四处移动,等等。

-----------------------------
| main form component 1 |
-----------------------------
| main | the 'embedded' |
| form | form goes here |
|comp 2| |
-----------------------------

我可以这样做吗?如果是这样怎么办?

<小时/>

我现在倾向于MDI...

最佳答案

在设计时将面板放置在您希望嵌入表单的位置。在运行时,创建表单,然后将嵌入表单的 Parent 属性设置为面板。

procedure TParentForm.FormCreate(ASender: TObject);
begin
FEmbeddedForm := TEmbeddedForm.Create(self);

FEmbeddedForm.Parent := Panel1;
FEmbeddedForm.Align := alClient;
FEmbeddedForm.Visible := True;

end;

编辑:

如果您想停止显示窗口标题和边框,请将其添加到 FormCreate() 的底部

  LForm.Caption := '';
LForm.BorderStyle := bsNone;

顺便说一句,我并不提倡在框架上使用父级表单,只是回答这个问题。框架很棒(我一直使用它们),但它们与表单完全不一样。它们几乎就像一个带有控件的面板。

例如,框架没有 OnCreate 事件,也没有 OnShow 事件,当您重用它们并需要这种行为时,有时会很痛苦。

N@

关于Delphi - 窗体中的窗体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2475540/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com