我希望防止在创建第二个 MDI 子项时发生 MDI 子项 WindowState 更改...
我有一个我正在开发的应用程序,用 Delphi 编写。通过一点 Delphi/Windows 魔术,应用程序有多个 MDI 父级和多个 MDI 子级。
我可以创建一个表单(子 A1),并在 MDI 父级(父级 A)中最大化它。我可以创建第二个表单(子 B1)并在第二个 MDI 父级(父级 B)中最大化它。两种形式都将在单独的 MDI 父母中进行最大化。到现在为止还挺好。我有这个工作。
但是,当我在第一个 MDI 父级(父级 A)中创建第二个 MDI 子级(子级 A2)时,第一个子级(子级 A1)的 WindowState(wsMaximized)会在创建第二个子级(子级 A2)时发生变化。我希望第一个孩子(孩子 A1)保持最大化,并创建第二个孩子(孩子 A2)并将其放置在第一个孩子之上......
如何防止第一个 MDI 子项的状态发生变化,同时又创建第二个 MDI 子项?有什么提示吗?
好的 - 现在我已经吃过午饭了,也许我可以更好地解释一下……这是第二次尝试……
所描述的行为可以在一个简单的 MDI 应用程序中重现(我用来创建多个 MDI 父级的魔法不会影响我的问题)
创建一个新的表单应用程序,将 formstyle 更改为 fsMdiForm 创建第二个表单,将其样式更改为 fsMDIChild 创建第三个表单,将其样式更改为 fsMDIChild
运行应用程序。实例化第二个表单,然后最大化(按预期工作 - 在 MDI Parent 中最大化) 实例化第三个表单,第三个表单以窗口状态 wsNormal 打开。但是当第三个窗体创建时,第二个窗体的窗口状态发生了变化——它不再被最大化,变成了wsNormal,就好像你点击了restore一样!
我想在打开第三个表单时避免恢复第二个表单...(所有表单的初始 WindowState 为 wsNormal...
非常感谢任何提示!