出于美观原因,我想在另一个表单之上显示一个表单,就像它是一个组件一样,比如 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;
Edit:
如果您想停止显示窗口标题和边框,请将其添加到窗口的底部FormCreate()
LForm.Caption := '';
LForm.BorderStyle := bsNone;
顺便说一句,我并不提倡在框架上使用父级表单,只是回答这个问题。框架很棒(我一直使用它们),但它们不是exactly与表格相同。它们几乎就像一个带有控件的面板。
例如,框架没有 OnCreate 事件,也没有 OnShow 事件,当您重用它们并需要这种行为时,有时会很痛苦。
N@
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)