【发布时间】:2010-08-17 21:32:25
【问题描述】:
如何在 Delphi 或 C++Builder 中控制 MDI 子窗口 (FormStyle := fsMDIChild) 的放置?我知道我可以设置 Left、Top、Position 等,但特别是对于 MDI 子项,这些在窗口已经创建并显示在其默认位置之后才会生效。结果是一次创建和定位多个窗口会导致相当多的闪烁,因为窗口是在默认位置创建的,然后立即移动和调整大小。
通过深入研究 VCL 源代码,我能够找到的唯一解决方案是重写 TCustomForm 的 CreateParams 方法并更改 Params 参数的 X、Y、Width 和 Height 字段,但这感觉像是一个 hack。有没有更清洁的方法?
【问题讨论】:
标签: delphi c++builder mdi mdichild