我在MainForm
周围有其他几种形式 for I := 1 to UserCount then
tempform:= TCustomFrm.Create(self);
我希望它们依赖于MainForm,这意味着当我最小化MainForm时它们也被最小化,然后我最大化MainForm,其他形式也被最大化。
我也想让它们定位在MainForm中,不过我认为我已经可以做到了。有没有办法做到这一点?
答案 0 :(得分:4)
从您的解释看来,您正在寻找MDI类型的应用程序(多文档界面)
看看这些教程:
http://delphi.about.com/od/objectpascalide/l/aa042500a.htm
http://www.delphigeist.com/2009/10/mdi-application-tutorial.html
问候
答案 1 :(得分:1)
听起来你根本不想要多个表单。相反,您需要多个帧。像表单一样设计每个TFrame
,然后使用Align := alClient
将它们全部放在主表单上。该属性将确保框架保持与表单相同的大小。由于它们是表单的子控件,因此当您最小化表单时它们将消失。一次只能保留一个框架(否则您将能够使用Tab键导航到无法真正看到的控件)。
如果您希望子项与主表单的大小不同,并且您希望能够将子项拖动到主窗体范围内的新位置,那么您需要MDI。
答案 2 :(得分:1)
您可以做的另一件事是在MainForm最小化时陷阱,然后遍历MainForm.Components数组以查找子表单并最小化子表单。
你可以通过最大化来做同样的事情。