集中子表单不起作用
Centralize child form does not work
我有一个应用程序,其工作方式如下:有一个主窗体,它是用于注册、搜索等的打开的子窗体。目的是始终在主窗体的中心打开子窗体,无论大小如何它的。为此,我在 son onCreate 的形式中使用以下代码:
formChild->Left=(MainForm->pnlMain->Width/2);
formChild->Top=(MainForm->pnlMain->Height/2)-(formChild->Height/2);
至此一切正常,表格居中正确,如下图所示:
关闭子窗体,恢复主窗体,打开子窗体,出现如下问题:
子窗体在第一次生成的位置生成(最大化window)。
正确的处理方法是将子窗体的 Position
属性 设置为 poMainFormCenter
。
这将确保在第一次创建和显示子窗体时,它将以 MainForm 为中心。
注意,如果您只是简单地隐藏子窗体然后稍后再次显示它,子窗体的位置将不会更新。如果你需要子窗体每次显示时始终居中,你应该在它关闭时销毁它,然后在显示它之前重新创建它。
我有一个应用程序,其工作方式如下:有一个主窗体,它是用于注册、搜索等的打开的子窗体。目的是始终在主窗体的中心打开子窗体,无论大小如何它的。为此,我在 son onCreate 的形式中使用以下代码:
formChild->Left=(MainForm->pnlMain->Width/2);
formChild->Top=(MainForm->pnlMain->Height/2)-(formChild->Height/2);
至此一切正常,表格居中正确,如下图所示:
关闭子窗体,恢复主窗体,打开子窗体,出现如下问题:
子窗体在第一次生成的位置生成(最大化window)。
正确的处理方法是将子窗体的 Position
属性 设置为 poMainFormCenter
。
这将确保在第一次创建和显示子窗体时,它将以 MainForm 为中心。
注意,如果您只是简单地隐藏子窗体然后稍后再次显示它,子窗体的位置将不会更新。如果你需要子窗体每次显示时始终居中,你应该在它关闭时销毁它,然后在显示它之前重新创建它。