【发布时间】:2022-06-14 23:59:36
【问题描述】:
我正在 Delphi 10.1 Berlin 开发 MDI 应用程序。有一个主窗体和子窗体。当我打开一个子窗体时,它会显示在主窗体的客户区,这就是 MDI 应用程序的工作方式。
我的任务是在主窗体中显示一个主页/仪表板窗体,其中包含一些快捷菜单、网格和一些应该始终在主窗体上打开的重要链接。此表单不应关闭。这个表单如何显示在主表单/父表单上?
或者,是否有其他更好的方法在 MDI 应用程序中显示仪表板?
已编辑。 -你好 在 MDI 应用程序中,我需要在主窗体/父窗体上显示网格和其他控件。(在客户区) 但是如果我这样做并尝试打开子窗口,那么它们不会在父窗体上显示/打开,因为客户区被网格和主窗体上的其他控件占用。
【问题讨论】:
-
我建议你添加一个工具栏,alt。一个带有
align = alTop的面板到 MDI 主窗体,并将这些“仪表板”组件放在该工具栏/面板上。由于它与顶部对齐,因此 MDI 子窗体将显示在该工具栏/面板下方。如果您已经准备好“仪表板”表单,您可以尝试将其父表单设置为 MDI 主表单并再次将其对齐alTop。没试过这样的设置(带表格),不知道有没有潜在的问题。 -
感谢您的回复。但是我的仪表板也是子表单,它在父表单的客户区域打开它也可以,如果当我单击主页按钮仪表板表单会再次看到它时显示在它上面的任何其他表单,但它不应更改仪表板的大小和宽度
-
@Ankush 如果您不想关闭子表单,请不要关闭它。真正的问题是什么?查看 Form 的 OnCloseQuery 事件和 Contraints 属性。
-
抱歉,我现在不清楚您在问什么。正如您最初所说的那样(从您的原始帖子中复制),您还表达了相互矛盾的信息:但这是我展示主页/仪表板表单的任务,其中包含一些快捷菜单、网格和一些始终在主表单上打开的 Imp 链接。 注意,你说的是总是在主窗体上打开,而不是在子窗体上!请编辑您的问题并添加复制错误的最简单代码,并尝试改进问题描述。
-
我确实更新了描述